之前的笔记里写了php使用第三方库将html转换成pdf和使用pandoc生成pdf,其实我在做前期调研的时候,还发现wkhtml也可以将html转换成pdf文件。
wkhtmltopdf 是一个开源、简单而有效的命令行 shell 程序,它可以将任何 HTML (网页)转换为 PDF 文档或图像(jpg、png 等)。wkhtmltopdf 是用 C++ 编写的,并在 GNU/GPL (通用公共许可证)下发布。它使用 WebKit 渲染引擎将 HTML 页面转换为 PDF 文档且不会丢失页面的质量。这是一个用于实时创建和存储网页快照的非常有用且可信赖的解决方案
在官网可以看到wkhtmltopdf的各种版本,但是因为我glibc太低,不能使用最新版本,试过了几个低版本之后,才找到了好用的版本。
使用wkhtml
-
因为wkhtmltopdf默认是不支持中文的。所以需要给服务器安装中文字体,才能将中文正确转换出来而不是乱码或者空白
- 安装中文字体,可以见我之前的笔记——给CentOS安装中文字体
-
使用命令
wkhtmltopdf http://www.baidu.com baidu.pdf
就能够将html转变成pdf -
其实除了wkhtmltopdf之外,还有另外一个小工具
wkhtmltoimage
可以将html转变成图片 -
不过wkhtmltopdf对表格的支持不太好,我也没仔细研究解决办法。最后使用了pandoc来代替wkhtmltopdf