php 网页转换成pdf,PHP html 转换成PDF wkhtmltopdf HTML 转换成 PDF

该博客详细介绍了在CentOS7.3环境下安装wkhtmltopdf并解决中文乱码问题的步骤。包括下载安装包、创建软链接、配置字体以及解决依赖库缺失的问题。同时,文中提到了如何添加中文字体,使用ttmkfdir生成字体配置,并更新字体缓存以确保中文显示正常。
摘要由CSDN通过智能技术生成

因为涉及到账单,并且要生成PDF并发送邮件,所以试用了好多转换PDF的都不成功,基本上都是格式错乱,唯一就是 wkhtmltopdf 满足 我的需求

安装环境

CENTOS 7.3

下载及安装

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

风.foxiswho

解压缩

tar -Jxv -f **.tar.xz

或者

xz -d **.tar.xz

tar -xv -f **.tar

移动文件目录到相关位置,例如 移动文件夹到/www/lanmps/目录下

mv wkhtmltox /www/lanmps/wkhtmltox

建立软连接,

ln -s /www/lanmps/wkhtmltox/wkhtmltoimage /usr/local/bin/wkhtmltoimage #转换成图片

ln -s /www/lanmps/wkhtmltox/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf #转换成 PDF

PHP 中使用 shell_exec 执行

shell_exec("wkhtmltopdf http://www.lanmps.com lanmps.com.pdf")

shell 中执行

wkhtmltopdf http://www.lanmps.com lanmps.com.pdf

中文字体

/usr/shared/fonts/chinese

chmod -R 755 /usr/share/fonts/chinese

上传字体宋体,你自己电脑中的字体,或者网上下载的也可以,字体如下

simsun.ttc # 宋体 http://down7.pc6.com/qd3/simsun.zip 记得解压缩

simsun.ttf

接下来需要安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令:

yum -y install ttmkfdir

然后执行ttmkfdir命令即可:

ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

最后一步就是修改字体配置文件了,首先通过编辑器打开配置文件:

vim /etc/fonts/fonts.conf

可以看到一个Font list,即字体列表,在这里需要把我们添加的中文字体位置加进去:加入到类似的位置

然后输入:wq保存退出,最后别忘了刷新内存中的字体缓存,这样就不用reboot重启了:

字体缓存

fc-cache

查看字体

fc-list |grep SimSun

可以看到已经成功安装上了中文字体,

中文编码解决

Q

error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory

./bin/wkhtmltopdf: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory

解决方法:

yum install -y libXrender

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值