python

pdfkit + wkhtmltopdf

2017-12-04  本文已影响36人  Medivh_

更多关注:
http://www.mknight.cn

wkhtmltopdf

关于wkhtmltopdf的简介:

pdfkit

关于pdfkit的简介:
Python和wkhtmltopdf使用webkit引擎将html转变为PDF文件。

Intsall

setup 1

yum install wkhtmltopdf
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
cd wkhtmltox/bin
cp ./* /usr/sbin/

setup 2

pip install pdfkit

setup 3

[root@xxx tmp]# wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)

使用

input 方式

支持url/file/string的导入。

import pdfkit

pdfkit.from_url('http://google.com', 'out.pdf')
pdfkit.from_file('test.html', 'out.pdf')
pdfkit.from_string('Hello!', 'out.pdf')

支持list

pdfkit.from_url(['google.com', 'yandex.ru', 'engadget.com'], 'out.pdf')
pdfkit.from_file(['file1.html', 'file2.html'], 'out.pdf')

支持打开的文件

with open('file.html') as f:
    pdfkit.from_file(f, 'out.pdf')

options

自定义设置

options = {
    'page-size': 'Letter',
    'margin-top': '0.75in',
    'margin-right': '0.75in',
    'margin-bottom': '0.75in',
    'margin-left': '0.75in',
    'encoding': "UTF-8",
    'custom-header' : [
        ('Accept-Encoding', 'gzip')
    ]
    'cookie': [
        ('cookie-name1', 'cookie-value1'),
        ('cookie-name2', 'cookie-value2'),
    ],
    'no-outline': None,
    'outline-depth': 10,
}

pdfkit.from_url('http://google.com', 'out.pdf', options=options)

引用css

# Single CSS file
css = 'example.css'
pdfkit.from_file('file.html', options=options, css=css)

# Multiple CSS files
css = ['example.css', 'example2.css']
pdfkit.from_file('file.html', options=options, css=css)

支持中文字符

<head><meta charset="UTF-8"></head>

参考资料

https://pypi.python.org/pypi/pdfkit
https://wkhtmltopdf.org/index.html

上一篇下一篇

猜你喜欢

热点阅读