1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php用wkhtmltopdf把html生成pdf

php用wkhtmltopdf把html生成pdf

时间:2022-04-05 05:05:43

相关推荐

php用wkhtmltopdf把html生成pdf

需要用php把html生成pdf,找了了个php扩展,HTML2PDF,只能生成一些简单的HTML代码,复杂的HTML+css无法生成。网上找到了强大的wkhtmltopdf。

直接下载bin包,不用安装,解压缩就能用。

./wkhtmltox/bin/wkhtmltopdf baidu.pdf

如果wkhtmltopdf中文显示空白,打开windows c:\Windows\fonts\simsun.ttc拷贝到linux服务器/usr/share/fonts/目录

本来想用win10上的simsunb.ttf字体文件,发现不支持。所以在网上下载了simsun.ttc

wkhtmltopdf使用的是webkit引擎,在官方的指南中说明可以指定编码格式:--encoding 编码格式,经过测试是不行的。--encoding参数实际上指的是文件存储的编码格式。所以通过URL从服务器端请求而来的网页编码文件格式不能确定时后,会使用文件内容编码格式输出。如果文件编码是Ansi,但是html编码是gb2312,就会乱码。

在服务器上已经安装好wkhtmltopdf,见博客内文章。命令行执行正常。如果用php调用的话,两个办法,一个是exec执行。这个方法比较慢。另一个办法就是,包装成扩展。本来想自己用SWIG工具包一个php扩展,后来网上搜了一下,早就有人做好了。php不愧是最好的语言,哈哈!

找到两个扩展,phpwkhtmltopdf和php-wkhtmltox。一个下载下来发现例子是用的php名字服务方式调用,我最不喜欢php的名字服务的斜杠!!!所以选择了php-wkhtmltox这个,虽然最后更新时间是3年前,不过,安装非常简单。

下载安装,/mreiferson/php-wkhtmltox

./phpinze

注意,如果wkhtmltopdf直接解压缩安装,需要指定phpwkhtmltox目录,如下:

./configure --with-phpwkhtmltox=/home/work/wkhtmltox/

cd /home/work/php/lib/php/extensions/no-debug-non-zts-1226 看一下是否生成phpwkhtmltox.so

修改php.ini增加一行:

extension=phpwkhtmltox.so

执行一下test例子,ok了!

在实际使用中发现,对js支持不好,一句话,如果页面去掉js还能正常显示,那就能生成。反之,就不行。

参考资料:

下载地址:

/downloads.html

中文参数列表

/songchao01230@126/blog/static/116184872222231114/

字体下载:

/font_download.php?id=150&part=1237886897

如果是python的话,请参考如下:(pdfkit + wkhtmltopdf)

http://kaito-//03/12/python-html2pdf/

编码分析

http://aiilive./1925756/1340243

pdf分页

/sibang/article/details/38733305

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。