Можно ли извлекать изображения из документов MS Word с помощью PHP? И если да, то как?
Требование: определенно поддержка old-shool doc, но желательно как старая, так и новая.
Создайте новый файл PHP и назовите его как extract.php и добавьте в него следующий код.
<?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 и добавьте к нему следующий код.
<?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(); ?>
Источник (ы): извлечение изображений из DocX с помощью PHP
Если вы извлекаете изображения из старых файлов, у вас есть несколько вариантов.
Запустите конвертер, чтобы обновить все файлы до DocX, затем используйте код IntermediateHacker.
Найдите код VBA, необходимый для извлечения изображений, а затем создайте макрос и вызовите этот код через функции COM-интерфейса PHP или вызовите сам код через эти функции.
Первое, что нужно сделать, это найти, как это сделать в VBA, что сделает его намного проще сделать в PHP.
Если вы используете новый формат docx, это может быть легко достигнуто, потому что это не более чем zip-файл. См. Следующую ссылку:
http://www.botskool.com/geeks/how-extract-images-docx-files-using-php