您好,登錄后才能下訂單哦!
php實現doc轉pdf的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
php實現doc轉pdf的方法:首先引入autoload文件;然后通過“$templateProcessor->saveAs('test.docx');”加載模板的word文件;最后將“test.docx”轉換成“test.pdf”即可。
php 編輯PDF文件,php word 轉 PDF,php 編輯 word,phpoffice,phpword,libreoffice
廢話不多說,直接說需求
1、項目經理:“小江啊,我這里有份合同,是word格式的,你把它生成PDF格式,并且里面的內容還能編輯”。
大致思路
1、遇到這種需求,我有點震驚了,什么需求啊這是,以前從沒碰到過。然后google啊百度啊一大推的東西。我也看了幾種常規生成pdf的php第三方類庫。
有tcpdf,zend framework,fpdf等,tcpdf生成pdf呢,直接點呢就是文檔的內容還要用html,css寫,那要用這個還不吐血,zend framework 下面有個生成pdf的類庫,但是有個致命的缺點,不支持中文,中文會亂碼,fpdf也是一樣。我全都試了個遍,沒個毛用,感覺要被這個玩意搞死,當我快要放棄的時候,我看到了phpword,看到了希望,phpword支持編輯word文檔,但轉換成pdf不是他的拿手好菜,無奈最后下了個libreoffice轉換器,這才勉強完成了這個需求,哎,覺得非常不容易,一定要分享下,如果有更好的辦法,可在下方評論:
1、直接引入autoload文件
require_once ’ vendor/phpoffice/phpword/bootstrap.php’;
2、
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('layout.docx'); $templateProcessor->setValue('name', 'AAAAAAA'); $templateProcessor->setValue('ID_card', '36042819950812782112'); $templateProcessor->setValue('mobile', '12312341234'); $templateProcessor->setValue('adress', '廣東省深圳市寶安區西鄉'); $templateProcessor->saveAs('test.docx');
以上代碼說明: 加載我們模板的word文件,我們在其里面設置變量格式是${name} 等等這種格式,生成的test.docx就是把setValue的值賦給了變量,是不是很神奇。
3、最后將test.docx 轉換成test.pdf,這一步也走的很心酸,查了很多資料,總以為有個第三方的庫可以解決,但還是沒找到,libreoffice是一個開源的軟件,這是個大家伙,將近1G的大小。下面將用法介紹下:
system(“export HOME=/tmp/ && libreoffice --invisible --convert-to pdf --outdir /phpstudy/www/Uploads/activity/2017-02-28/ /phpstudy/www/Uploads/activity/2017-02-28/58b53f9cad22e.xls 2>&1”);
直接用system 系統函數
感謝各位的閱讀!看完上述內容,你們對php實現doc轉pdf的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。