首頁 > 軟體

python包pdfkit(wkhtmltopdf) 將HTML轉換為PDF的操作方法

2022-04-21 13:00:29

python包-pdfkit 將HTML轉換為PDF

什麼是pdfkit

pdfkit,把HTML+CSS格式的檔案轉換成PDF格式檔案的一種工具。它就是html轉成pdf工具包wkhtmltopdf的Python封裝。所以,必須手動安裝wkhtmltopdf。

安裝

首先需要安裝 pdfkit 庫,使用 pip install pdfkit 命令就好了。
還需要安裝 wkhtmltopdf 工具,本質就是利用這個工具來進行轉換,pdfkit 庫就是作為介面來呼叫該工具。
python版本 3.x,在命令列輸入:

$sudo apt-get install wkhtmltopdf

工具下載地址:
wkhtmltopdf 官網:https://wkhtmltopdf.org/downloads.html

Ubuntu系統可以直接使用以下命令安裝:

$sudo yum intsall wkhtmltopdf

CentOS系統可以直接使用以下命令安裝:

$sudo yum intsall wkhtmltopdf

使用

將url生成pdf檔案

不指定wkhtmltopdf,會從系統的預設執行路徑下找 wkhtmltopdf

import pdfkit
'''將url生成pdf檔案'''
def url_to_pdf(url, to_file):
    pdfkit.from_url(url, to_file,verbose=True)
url_to_pdf('http://www.baidu.com','out_3.pdf')

指定 wkhtmltopdf 的位置:

import pdfkit
'''將url生成pdf檔案'''
def url_to_pdf(url, to_file):
    config = pdfkit.configuration(wkhtmltopdf='/usr/local/bin/wkhtmltopdf')
    pdfkit.from_url(url, to_file,configuration=config,verbose=True)
url_to_pdf('http://www.baidu.com','out_3.pdf')

字串生成pdf【pdfkit.from_string()函數】

# 匯入庫
import pdfkit

'''將字串生成pdf檔案'''
def str_to_pdf(string, to_file):
    # 將wkhtmltopdf.exe程式絕對路徑傳入config物件
    path_wkthmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
    config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)
    # 生成pdf檔案,to_file為檔案路徑
    pdfkit.from_string(string, to_file, configuration=config)
    print('完成')
str_to_pdf('This is test!','out_3.pdf')

報錯

報錯OSError: No wkhtmltopdf executable found

在使用pdfkit.from_string或者pdfkit.from_file或者pdfkit.from_url將字串、檔案或者網頁內容轉化為pdf時,報錯:

OSError: No wkhtmltopdf executable found

原因很明顯,就是沒找到可執行的wkhtmltopdf檔案,也就是未找到wkhtmltopdf.exe檔案。
python的pdfkit擴充套件包使用時需要基於wkhtmltopdf.exe這個可執行檔案才可執行,因此需要先安裝wkhtmltopdf。
對於windows系統,可以在(https://wkhtmltopdf.org/downloads.html)下載安裝,然後將該程式的執行檔案路徑新增到環境變數中(這樣即可直接用pdfkit擴充套件包,否則需要在使用pdfkit時,指明該程式的路徑)

Ubuntu系統可以直接使用以下命令安裝:

$sudo apt-get install wkhtmltopdf

CentOS系統可以直接使用以下命令安裝:

$sudo yum intsall wkhtmltopdf

到此這篇關於python包pdfkit(wkhtmltopdf) 將HTML轉換為PDF的文章就介紹到這了,更多相關python pdfkit將HTML轉換為PDF內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com