總結下本人在日常工作中使用php操作word的一些實戰。
方法一:利用php com模組。也即利用word提供的本地api,所有只適用於windows系統上。
<?php<br />$word = new com('word.application') or die('無法開啟word');<br />$word->Visiable = false;<br />$doc_file = '/path/to/doc';<br />$word->Open($doc_file);<br />$text = '這段文字將被寫到word文檔中去';<br />$word->Selection->TypeText($text);<br />//儲存<br />$word->ActiveDocument->Save();<br />//讀取內容<br />$doc_file_contents = $word->ActiveDocument->Content->Text;<br />//輸出word內容<br />$word->PrintOut();<br />$word->Close();<br />?>
利用com串連word,經常無法預期運行成功,目前也不知道是什麼原因,暫時靠運氣吧。
方法二:利用catdoc。catdoc是linux上的工具,需要自行安裝配置。
<?php<br />//catdoc位置<br />$cat_doc = '/usr/local/bin/catdoc';<br />$doc_file = 'this is a doc file';<br />//讀取word檔案內容<br />$doc_file_contents = shell_exec($cat_doc . ' ' . $doc_file);<br />echo nl2br($doc_file_contents);<br />?>
更多catdoc的功能,請查閱catdoc文檔。
由於catdoc是linux的工具,所以上面的這段代碼只能運行在linux伺服器上,而已必須安裝了catdoc。