php實現doc轉pdf的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純热?,讓我們一起來看看吧?/p>
專注于為中小企業(yè)提供成都網站設計、網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)子洲免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯網行業(yè)人才,有力地推動了近1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現規(guī)模擴充和轉變。
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啊百度啊一大推的東西。我也看了幾種常規(guī)生成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', '廣東省深圳市寶安區(qū)西鄉(xiāng)'); $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 系統(tǒng)函數
感謝各位的閱讀!看完上述內容,你們對php實現doc轉pdf的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。
分享名稱:php實現doc轉pdf的方法
文章URL:http://www.rwnh.cn/article20/jdceco.html
成都網站建設公司_創(chuàng)新互聯,為您提供靜態(tài)網站、品牌網站建設、網站制作、面包屑導航、關鍵詞優(yōu)化、App開發(fā)
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯