使用到的工具
pdftk? ? ??https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/? ? ? pdf合并工具
wkhtmltopdf? ? ??https://wkhtmltopdf.org/? ? 將html頁(yè)面轉(zhuǎn)為pdf的工具
windows 直接下載安裝蜗侈。
linux下:
安裝wkhtmltopdf??
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
rpm -i wkhtmltox-0.12.5-1.centos7.x86_64.rpm
提示缺少依賴:
libXrenderisneededbywkhtmltox-1:0.12.5-1.centos7.x86_64?
?xorg-x11-fonts-75dpiisneededbywkhtmltox-1:0.12.5-1.centos7.x86_64?
?xorg-x11-fonts-Type1isneededbywkhtmltox-1:0.12.5-1.centos7.x86_64
yum install 直接安裝就好睡蟋,安裝好后,可執(zhí)行測(cè)試??
wkhtmltopdf http://www.baidu.com pdftest.pdf
完美輸出(或者出現(xiàn)中文字變成方塊或者亂碼:是因?yàn)槿鄙僦形淖煮w该面,下載中文字體 ‘simsun.ttc 或其他字體’ 放到 /usr/share/fonts 目錄)
安裝pdftk:
官網(wǎng)上下載的rpm包 安裝提示缺少依賴
Package: pdftk-2.02-1.el6.x86_64 (/pdftk-2.02-1.el6.x86_64) Requires: libgcj.so.10()(64bit)
這個(gè)依賴包yum也安裝不上
使用這個(gè)命令:
yum localinstall?https://www.linuxglobal.com/static/blog/pdftk-2.02-1.el7.x86_64.rpm
即可。
項(xiàng)目中使用
?基本思路:將頁(yè)面保存為html文件(系統(tǒng)中因?yàn)檫@些頁(yè)面涉及權(quán)限吆倦,無(wú)法直接訪問(wèn)),然后使用wkhtmltopdf轉(zhuǎn)為pdf晌梨。
shell_exec("wkhtmltopdf xxx.html xxx.pdf")
需要批量導(dǎo)出時(shí)须妻,我這里方案是將多個(gè)pdf合并為一個(gè)pdf然后下載(或者多個(gè)pdf文件打包下載)。
shell_exec("pdftk 1.pdf 2.pdf 3.pdf? cat output xxx.pdf")
到此荒吏,已經(jīng)完成。(以上在window10,centos7.5下運(yùn)行)
篇外:在windows系統(tǒng)中绰更,nginx服務(wù)器,使用file_get_contents會(huì)出現(xiàn)網(wǎng)站 卡住 沒(méi)響應(yīng)的情況特恬,有遇到問(wèn)題的可在留言區(qū)提問(wèn)徐钠。