首頁  >  文章  >  後端開發  >  【php教學】PHP中html word 互轉方法分享

【php教學】PHP中html word 互轉方法分享

WBOY
WBOY原創
2016-07-25 08:45:531458瀏覽
在php開發中,php如何實現html word互轉的呢?有什麼方法嗎?以下就跟大家介紹php將html轉入word中的方法,這是經過測試的,這種方法有一點不好,html頁面程式碼要寫在php中,不過好歹能運行,看程式
class word{
function start(){
ob_start();
echo '
="echo '="
echo '="
echo '=" urn:schemas-microsoft-com
ffice
ffice"
xmlns:w="urn:schemas-microsoft-com
ffice:word"
xmlns=" http://www.w3.org/TR/REC-html40">';
}
function save($path)
{
echo "";
$data = ob_get_contents();
}
function wirtefile($fn,$data){
function wirtefile($fn,$data){
function wirtefile($fn,$data){
function wirtefile($fn,$data){
function wirtefile($fn,$data){
$fp=fopen($fp,$data);
fwrite($fp,$data);
}
}
$html ='
姓名 性別 年齡 嗜好 備註
張三 32 足球
李四
43 籃球
';
//批次產生
//for($i=1;$i
$word = new word( );
$word->start();
$wordname='個人測試php產生word.doc';
echo $html;
$word->save($wordname);
header('Content-type:application/word');

header('Content-Disposition: attachment; filename='.$ wordname.'');
//readfile($wordname);
ob_flush();//每次執行前刷新快取flush();//}?>下面跟大家分享一段程式碼php實作word轉html的方法要完美解決,office轉pdf或html ,最好還是用windows office軟體,libreoffice不能完美轉換,wps沒有api。 先確認com模組是不是開啟,phpinfo裡面如果有com_dotnet模組,說明已開啟,如果沒有,修改php.ini, 代碼如下:com.allow_dcom = true
前面的註解去掉,重啟就OK了,php官方網站說,php5.4.5之前,com模組是內建的,其實也不一定全是,官網下的php 5.3.39,com模組就沒有內建。
如果不是內建模組的話,php.ini加上,前提你的ext資料夾下,有該擴充
程式碼如下:
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. 轉換出來的html,查看源碼,比較亂的
2. 轉換過程中會調用winword.exe
3. 如果頁面一直在加載,把文檔重新命名,然後在重新轉接。
以上就是本文全部內容,有興趣的朋友可以自己試試,若有更好的實作html word互轉的方法,歡迎分享給大家。
推薦閱讀:php 中,資料排序的 無限極分類的 常用的分析手法



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn