使用 pdfkit将html转成pdf文件

0 评论
/ /
1254 阅读
/
1738 字
14 2018-12

1、安装

 windows 环境下,首先下载安装文件,安装,将安装文件的可执行文件全路径添加至path,例如 D:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe

pip install  pdfkit

# -*- coding:utf-8 -*-
import pdfkit


def html_to_pdf():
    # pdfkit.from_url('http://www.so.com', 'out.pdf')
    # pdfkit.from_file('test.html', 'out.pdf')
    # pdfkit.from_string('Hello!', 'out.pdf')

    path_wk = r'D:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
    config = pdfkit.configuration(wkhtmltopdf=path_wk)
    # pdfkit.from_file('F:/advance.html', 'F:\outeee44.pdf', configuration=config)
    pdfkit.from_file('certificate.html', 'out.pdf', configuration=config)

if __name__ == '__main__':
    html_to_pdf()

linux--centos7下,首先安装 pip install  pdfkit

 

不要使用 yum install wkhtmltopdf  由于CentOS的yum库里的wkhtmltopdf版本过旧,而新版的不再依赖X server,所以会导致wkhtmltopdf: cannot connect to X server 这样的报错。
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar xvfJ wkhtmltox-0.12.3_linux-generic-amd64.tar.xz
cd wkhtmltox/bin
sudo mv ./wkhtmltopdf /usr/bin/wkhtmltopdf
sudo chmod +x /usr/bin/wkhtmltopdf

如果中文不显示,则将 windows下的字体,例如simsun.ttc ,或者msyh.ttf,或者msyhbd.ttf 复制到 linux系统  /usr/share/fonts 下。