Python將HTML轉換為PDF
使用pdfkit庫和wkhtmltopdf,
pip install pdfkit wkhtmltopdflinux中一般需要添加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顯示所有的幫助信息, 官方的文檔也是這個.
