[PHP]將資料轉成Word(PHPWord)

最近突然需要將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檔案的目錄權限打開
允許寫入,則暫存檔就會放在同目錄裏
刪除也會成功,則此問題就算解決了吧

我猜下一版大概就解決了
這只是給自己先作個記錄吧
標籤: PHP
評論: 0 | 引用: 4 | 閱讀: 12777 | 回到頁首