下面一段代碼給大家介紹php將html轉(zhuǎn)入word中,具體內(nèi)容如下所示:
這是經(jīng)過(guò)測(cè)試的,這種方法有一點(diǎn)不好,html頁(yè)面代碼要寫(xiě)在php中,不過(guò)好歹能運(yùn)行,看程序
<?php class word{function start(){ob_start();echo '<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:w="urn:schemas-microsoft-com:office:word"xmlns="http://www.w3.org/TR/REC-html40">'; }function save($path){echo "</html>";$data = ob_get_contents();}function wirtefile($fn,$data){$fp=fopen($fp,$data);fwrite($fp,$data);}}$html='<table width=600 cellpadding="6" cellspacing="1" style="border:1px solid green;" style="border-collapse:collapse"> <tr style="border:1px solid green;"> <td style="border:1px solid green;">姓名</td> <td style="border:1px solid green;">性別</td><td style="border:1px solid green;">年齡</td><td style="border:1px solid green;">愛(ài)好</td><td style="border:1px solid green;">備注</td> </tr> <tr style="border:1px solid green;"> <td style="border:1px solid green;">張三</td> <td style="border:1px solid green;">男</td><td style="border:1px solid green;">32</td><td style="border:1px solid green;">足球</td><td style="border:1px solid green;">無(wú)</td> </tr> <tr style="border:1px solid green;"> <td style="border:1px solid green;"> 李四 </td> <td style="border:1px solid green;">男</td><td style="border:1px solid green;">43</td><td style="border:1px solid green;">籃球</td><td style="border:1px solid green;">無(wú)</td></tr> </table> ';//批量生成//for($i=1;$i<3;$i++){$word = new word();$word->start();$wordname='個(gè)人測(cè)試php生成word.doc';echo $html;$word->save($wordname);header('Content-type:application/word');header('Content-Disposition: attachment; filename='.$wordname.'');//readfile($wordname);ob_flush();//每次執(zhí)行前刷新緩存flush();//}?>
下面給大家分享一段代碼php實(shí)現(xiàn)word轉(zhuǎn)html的方法
要想完美解決,office轉(zhuǎn)pdf或者h(yuǎn)tml,最好還是用windows office軟件,libreoffice不能完美轉(zhuǎn)換,wps沒(méi)有api。
先確認(rèn)com模塊是不是開(kāi)啟,phpinfo里面如果有com_dotnet模塊,說(shuō)明已開(kāi)啟,如果沒(méi)有,修改php.ini,
代碼如下:
com.allow_dcom = true
前面的注釋去掉,重啟就OK了,php官方網(wǎng)站說(shuō),php5.4.5之前,com模塊是內(nèi)置的,其實(shí)也不一定全是,網(wǎng)址下的php 5.3.39,com模塊就沒(méi)有內(nèi)置。
如果不是內(nèi)置模塊的話,php.ini加上,前提你的ext文件夾下,有該擴(kuò)展
代碼如下:
extension=php_com_dotnet.dll
然后重啟就OK了
function word2html($wordname,$htmlname){$word = new COM("word.application") or die("Unable to instanciate Word");$word->Visible = 1;$word->Documents->Open($wordname);$word->Documents[1]->SaveAs($htmlname,8);$word->Quit();$word = null;unset($word);}word2html('D:/www/test/6.docx','D:/www/test/6.html');注意:
1. 轉(zhuǎn)換出來(lái)的html,查看源碼,比較亂的
2. 轉(zhuǎn)換過(guò)程中會(huì)調(diào)用winword.exe
3. 如果頁(yè)面一直在加載,把文檔重命名,然后在重新轉(zhuǎn)。
以上就是實(shí)例詳解PHP中html word 互轉(zhuǎn)的方法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注 其它相關(guān)文章!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選