[PHP]將資料轉成Word(PHPWord)
作者: fase 日期: 2011-10-12 15:42
最近突然需要將php網頁的部分資料轉成Word格式
本來一開始在網路上搜尋
都是利用COM物件或是存成mht格式但副檔名改成doc
後來在網路上找到2個library
一套是PHPDOCX,另一套則是PHPWord
本來是試用PHPDOCX來建立Word檔
但後來發現插入圖形都會換行
而我的需求是不要換行
而我也找不到解決方法
不過這套有分Free版本跟收費的Pro版
所以就不想太深入了解
另外又搜尋到PHPWord,所以也來試看看
PHPWord目前還是Beta版
不過因為是跟PHPExcel同一個開發的
所以想說應該不錯用
但是插入圖形也是會自動換行
搜尋了一下,發現是本身的問題
目前這版並沒有解決
那怎麼辦呢
就想說看一下原始碼吧
經過一番亂搜尋之下
發現插入圖形這段程式碼是在Base.php
就利用TextRun.php加入AddImage函數
這從Section.php複製過來
然後改一改Base.php
要改_writeTextRun函數及_writeImage函數
因為TextRun是用於不加換行用的,所以利用TextRun來作是比較好
但Base.php的_writeImage並沒有換行的判斷,所以要自己加
另外最近又碰到一個問題
Server上的暫存區莫名其妙滿了
後來才發現是PHPWord造成的
因為我使用
$objWriter->save('php://output');
來輸出
產生了暫存檔在暫存區,但不知為何竟然沒刪除成功
刪除的部分我懶得查原因
後來發現只要把放置這php檔案的目錄權限打開
允許寫入,則暫存檔就會放在同目錄裏
刪除也會成功,則此問題就算解決了吧
我猜下一版大概就解決了
這只是給自己先作個記錄吧
本來一開始在網路上搜尋
都是利用COM物件或是存成mht格式但副檔名改成doc
後來在網路上找到2個library
一套是PHPDOCX,另一套則是PHPWord
本來是試用PHPDOCX來建立Word檔
但後來發現插入圖形都會換行
而我的需求是不要換行
而我也找不到解決方法
不過這套有分Free版本跟收費的Pro版
所以就不想太深入了解
另外又搜尋到PHPWord,所以也來試看看
PHPWord目前還是Beta版
不過因為是跟PHPExcel同一個開發的
所以想說應該不錯用
但是插入圖形也是會自動換行
搜尋了一下,發現是本身的問題
目前這版並沒有解決
那怎麼辦呢
就想說看一下原始碼吧
經過一番亂搜尋之下
發現插入圖形這段程式碼是在Base.php
就利用TextRun.php加入AddImage函數
這從Section.php複製過來
然後改一改Base.php
要改_writeTextRun函數及_writeImage函數
因為TextRun是用於不加換行用的,所以利用TextRun來作是比較好
但Base.php的_writeImage並沒有換行的判斷,所以要自己加
另外最近又碰到一個問題
Server上的暫存區莫名其妙滿了
後來才發現是PHPWord造成的
因為我使用
$objWriter->save('php://output');
來輸出
產生了暫存檔在暫存區,但不知為何竟然沒刪除成功
刪除的部分我懶得查原因
後來發現只要把放置這php檔案的目錄權限打開
允許寫入,則暫存檔就會放在同目錄裏
刪除也會成功,則此問題就算解決了吧
我猜下一版大概就解決了
這只是給自己先作個記錄吧
評論: 0 |
引用: 4 |
閱讀: 12778
發表評論
[PHP] 貼文到user的facebook塗鴨牆(feed/wall) (2012-12-26 17:23)
[PHP]讀取文字檔,中文亂碼的問題 (2012-10-29 17:37)
空房查詢顯示系統-給旅館民宿業者用 (2012-07-12 10:07)
分享Zen Cart 1.3.9h繁體中文版 (2011-04-22 17:27)
[PHP] readfile (2010-11-03 17:46)
[PHP] uploadprogress的使用 (2010-07-01 11:42)
[phpBB3] 網站登入整合 (2010-03-11 14:09)
[PHP] uploadprogress功能在Windows下安裝 (2010-01-20 11:13)
[PHP] array_multisort (2009-12-24 17:07)