有人要求我在php中創建一個應用程序,該應用程序將生成一個帶有圖像和幾張表格的.doc文件。我的第一種方法是:如何使用php在word文件中包含圖像?
<?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);
?>
這使用嵌入圖像的數據uri技術。
這將生成一個html文件,該文件在Web瀏覽器中將呈現良好狀態,但至少在標準設置中,圖像在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文件。 有沒有辦法在OpenXML格式的.doc文件中嵌入圖像?
我不知道其他唯一的方法,這是什麼代碼使用的docx和在哪裏使用這個,在PHP或HTML?你可以再定義一下嗎? – Bajrang 2012-04-23 07:39:05
如果我記得正確,你必須把它放在你生成的'doc'(xml)文件中。或者你可以將你的doc文件保存爲xml,然後檢查它的內部結構,似乎這是我用這種方式 – llamerr 2012-04-23 11:26:18