Как использовать PHP, чтобы включить изображение в файл слова?

Кто-то попросил меня создать приложение на php, которое будет генерировать файл .doc с изображением и несколькими таблицами в нем. Мой первый подход был:

<?php
function data_uri($file, $mime) 
{  
  $contents = file_get_contents($file);
  $base64   = base64_encode($contents); 
  return ('data:' . $mime . ';base64,' . $base64);
}
$file = 'new.doc';
$fh = fopen($file,'w');
$uri = data_uri('pic.png','image/png');
fwrite($fh,'<table border="1"><tr><td><b>something</b></td><td>something else</td></tr><tr><td></td><td></td></tr></table>
<br/><img src="'.$uri.'" alt="some text" />
<br/>
<table border="1"><tr><td><b>ceva</b></td><td>altceva</td></tr><tr><td></td><td></td></tr></table>');
fclose($fh);
?>

Это использует технику data uri для встраивания изображения.

Это создаст HTML-файл, который будет отображаться нормально в веб-браузерах, но изображение отсутствует в Microsoft Office Word, по крайней мере, в стандартной настройке. Затем, редактируя файл с помощью Word, я заменил изображение изображением из файла, а Microsoft Word изменил содержимое файла на Open XML и добавил папку, new_files, в которую он поместил импортированное изображение (которое было .png ). GIF-версия изображения и XML-файл:

<xml xmlns:o="urn:schemas-microsoft-com:office:office">
  <o:MainFile HRef="../new.doc" /> 
  <o:File HRef="image001.jpg" /> 
  <o:File HRef="filelist.xml" /> 
</xml>

Теперь этого тоже недостаточно, так как я хочу, чтобы все это хранилось в одном файле .doc. Есть ли способ встроить изображение в файл .doc в формате OpenXML?

Ответы на вопрос(7)

Ваш ответ на вопрос