使用wkhtmltopdf 進(jìn)行頁面轉(zhuǎn)換PDF文件
官方文檔:https://wkhtmltopdf.org/downloads.html
1、cat /etc/redhat-release 查看linux版本 選擇對應(yīng)版本下載(wget下載太慢,建議本地下載 FileZilla上傳服務(wù)器根目錄即可)
2、wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 下載壓縮包(測試服務(wù)器已安裝)
3、tar -vxf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 解壓縮包(測試服務(wù)器解壓到/etc/目錄下了)
4、cp /etc/wkhtmltox/bin/wkhtmltopdf /usr/bin/ 拷貝程序到/usr目錄 可全局使用
5、中文亂碼&方塊字問題:找到windows系統(tǒng)c:\Windows\fonts\simsun.ttc 放到/usr/share/fonts/chinese/TrueType/simsun.ttc (/chinese/TrueType 這兩個文件夾需要單獨(dú)創(chuàng)建 chmod 755 simsun.ttc 并給予權(quán)限)
6、在任意目錄命令行測試 wkhtmltopdf http://www.baidu.com ./112233.pdf 進(jìn)行轉(zhuǎn)換測試。如發(fā)現(xiàn)報錯去缺少支持可以yum安裝(多試幾次 缺少安裝啥) 例如:yum install libXrender
另外:
wkhtmltopdf 在識別頁面時,如果需要pdf分頁 ,可在對應(yīng)html加行內(nèi)樣式 div{ width:800px; min-height:1362px;margin:auto;page-break-inside:avoid;} 進(jìn)行分頁
在PHP中調(diào)用:
exec('wkhtmltopdf 目標(biāo)鏈接 本地存儲路徑 2>&1',$output,$return_code);
可通過判斷 $return_code == 0 來確認(rèn)是否完成
如果頁面中有圖片或者css報錯 會影響返回結(jié)果,但pdf可能是正常生成的
http://m.itdecent.cn/p/4d65857ffe5e 別人的精講、可以參考這個來查看命令行配置