wie Sie php verwenden, um ein Bild in eine word-Datei?

Jemand hat mich gebeten eine app machen in php generiert .doc-Datei mit einem Bild und ein paar Tabellen. Mein Erster Ansatz war:

<?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);
?>

Diese nutzt die Daten, die uri Technik der Einbettung eines Bildes.

Dies erzeugt eine html-Datei, die gerendert wird, ok in web-Browsern, aber das Bild fehlt in Microsoft Office Word, zumindest in der standard-setup. Dann, während der Bearbeitung die Datei mit Word, ich habe ersetzen Sie das Bild mit einem Bild aus Datei-und Microsoft Word verändert den Inhalt der Datei in Open XML, und Hinzugefügt, einen Ordner new_files, wo er legte das importierte Bild (das war ein .png), ein .gif version des Bildes und eine xml-Datei:

<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>

Nun, das ist nicht gut genug, da ich will, dass das alles gehalten in einem einzigen .doc-Datei.
Gibt es eine Möglichkeit zum einbetten eines Bildes in einer OpenXML-Format .doc-Datei?

Schreibe einen Kommentar