php批量导出pdf文件大小,php完美导出pdf,pdf合并批量导出

使用到的工具

pdftk      https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/      pdf合并工具

wkhtmltopdf      https://wkhtmltopdf.org/    将html页面转为pdf的工具

windows 直接下载安装。

linux下:

安装wkhtmltopdfwget 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 直接安装就好,安装好后,可执行测试wkhtmltopdf http://www.baidu.com pdftest.pdf

完美输出(或者出现中文字变成方块或者乱码:是因为缺少中文字体,下载中文字体 ‘simsun.ttc 或其他字体’ 放到 /usr/share/fonts 目录)

安装pdftk:

官网上下载的rpm包 安装提示缺少依赖Package: pdftk-2.02-1.el6.x86_64 (/pdftk-2.02-1.el6.x86_64) Requires: libgcj.so.10()(64bit)

这个依赖包yum也安装不上

使用这个命令:yum localinstall https://www.linuxglobal.com/static/blog/pdftk-2.02-1.el7.x86_64.rpm

即可。

项目中使用

基本思路:将页面保存为html文件(系统中因为这些页面涉及权限,无法直接访问),然后使用wkhtmltopdf转为pdf。shell_exec("wkhtmltopdf xxx.html xxx.pdf")

需要批量导出时,我这里方案是将多个pdf合并为一个pdf然后下载(或者多个pdf文件打包下载)。shell_exec("pdftk 1.pdf 2.pdf 3.pdf  cat output xxx.pdf")

到此,已经完成。(以上在window10,centos7.5下运行)

篇外:在windows系统中,nginx服务器,使用file_get_contents会出现网站 卡住 没响应的情况,有遇到问题的可在留言区提问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值