使用 PHP 从 MS Word 文档中提取图像的最简单方法?

2021-12-31 00:00:00 ms-word php

是否可以使用 PHP 从 MS Word 文档中提取图像?如果是这样,如何?

Is this possible to extract images from MS Word Documents using PHP? And if so, how?

要求:绝对是老式的文档支持,但最好是旧的和新的.

Requirement: Definitely old-shool doc support, but preferably both old and new.

推荐答案

创建一个新的 PHP 文件并将其命名为 extract.php 并在其中添加以下代码.

Create a new PHP file and name it as extract.php and add the following code in it.

<?php

/*Name of the document file*/
$document = 'attractive_prices.docx';

/*Function to extract images*/ 
function readZippedImages($filename) {


/*Create a new ZIP archive object*/
    $zip = new ZipArchive;

    /*Open the received archive file*/
    if (true === $zip->open($filename)) {
        for ($i=0; $i<$zip->numFiles;$i++) {


/*Loop via all the files to check for image files*/
            $zip_element = $zip->statIndex($i);


/*Check for images*/
            if(preg_match("([^s]+(.(?i)(jpg|jpeg|png|gif|bmp))$)",$zip_element['name'])) {


/*Display images if present by using display.php*/
                echo "<image src='display.php?filename=".$filename."&index=".$i."' /><hr />";
            }
        }
    }
}
readZippedImages($document);
?>

现在创建另一个 PHP 文件并将其命名为 display.php 并向其中添加以下代码.

Now create another PHP file and name it as display.php and add the following code to it.

<?php


/*Tell the browser that we want to display an image*/
    header('Content-Type: image/jpeg');


/*Create a new ZIP archive object*/
    $zip = new ZipArchive;

    /*Open the received archive file*/
    if (true === $zip->open($_GET['filename'])) {


/*Get the content of the specified index of ZIP archive*/
        echo $zip->getFromIndex($_GET['index']);
    }

    $zip->close();
?>

来源:使用 PHP 从 DocX 中提取图像

相关文章