经常会遇到一些转换需求,如HTML
转PDF
,我一般都会用pdfkit这个库,分享一下使用过程。
安装依赖
wkhtmltopdf
pdfkit
只是提供了访问的API,具体实现还需要在你的机器上安装 wkhtmltopdf,在安装wkhtmltopdf
前还需要安装它所依赖的字体
1 | yum install -y xorg-x11-fonts-75dpi |
然后根据自己的版本需求,下载它对应的安装包
1 | wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm |
安装
1 | rpm -Uvh wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm |
测试
1 | wkhtmltopdf https://uxiu.info uxiu.pdf |
若无错误,会看到打印
1 | Loading pages (1/6) |
pdfkit
用pip
安装
1 | pip install pdfkit |
开始使用
我是在django
项目中有的这个需求,所用模板渲染我直接用了django
自带的
1 | import pdfkit |
当然,你也可以像上面的测试一样,直接把URL
的内容生成PDF
1 | import pdfkit |
如果发现PDF
文件的效果和HTML
的效果大相庭径,很可能是你的options
参数的问题(如dpi
),关于wkhtmltopdf
的参数,可参考 options