Python將HTML轉換為PDF
使用pdfkit
庫和wkhtmltopdf
,
pip install pdfkit wkhtmltopdf
linux中一般需要添加sudo權限
.
Windows
安裝獨立版本的for Windows XP/2003 or later; standalone
。
Linux直接使用命令安裝就行, Fedora/CentOS
系sudo yum install wkhtmltopdf
,
Debian/Ubuntu
系sudo apt install wkhtmltopdf
import pdfkit
pdfkit.from_file(input_file, output_file)
html轉為pdf時的分頁斷行錯誤
在需要進行分頁的塊(如div)中添加樣式page-break-inside:avoid;
。
強制分頁
想從html中的某個標簽的位置進行強制分頁, 添加樣式page-break-after:always;
直接使用wkhtmltopdf的選項參數
使用字典的形式, wkhtmltopdf
的選項作為字典的key
, 刪除選項前的--
.
如果選項沒有值, 使用None
或者False
.
對於可以有多個元素的選項來說(cookie, custom-header, post, postfile, run-script, replace等
), 可以使用列表或者元組.
例如
options = {
"page-size": "Letter",
"cookie": [
('cookie-name', 'cookie-value')
],
"no-outline": None
}
wkhtmltopdf
的選項信息,可以參考這個網頁https://www.jianshu.com/p/4d65857ffe5e
, 對幫助信息的一個翻譯.
或者使用wkhtmltopdf -H
顯示所有的幫助信息, 官方的文檔也是這個.