在 Python 中將 HTML 儲存為 PDF
-
使用
wkhtmltopdf
API 和 Pdfkit 使用 Python 將 HTML 儲存為 PDF -
使用
weasyprint
模組使用 Python 將 HTML 儲存為 PDF -
使用
PyQT
模組使用 Python 將 HTML 儲存為 PDF
HTML 是用於 Web 開發的最基本和流行的語言。它已經形成了許多語言的基礎。Python 支援建立連線和處理網站。
PDF 是一種行動式文件,可以在不同裝置上檢視,並且獨立於建立它時使用的軟體。
在本教程中,我們將使用 Python 將 HTML 網頁儲存為 PDF。
使用 wkhtmltopdf
API 和 Pdfkit 使用 Python 將 HTML 儲存為 PDF
wkhtmltopdf 是一組開源工具,可以將 HTML 網頁轉換為 PDF。我們使用 pdfkit 模組在 Python 中處理它。該模組的功能可以在單個或多個網頁上執行,並將它們儲存為 PDF 檔案。
我們可以直接從網頁 URL 或裝置上儲存的 HTML 檔案中讀取內容。from_url() 函式從 URL 讀取內容,而 from_file() 函式從檔案讀取。
檔案的名稱和路徑可以在函式中指定。
看下面的程式碼看看它們的用途
import pdfkit
pdfkit.from_url("https://www.delftstack.com/", "sample.pdf")
我們還可以通過在函式中提及 False 而不是 PDF 名稱來將此內容儲存在變數中。
在使用此方法之前,請記住從其官方網站安裝 wkhtmltopdf。
使用 weasyprint
模組使用 Python 將 HTML 儲存為 PDF
weasyprint 模組用於將網頁呈現為文件格式。我們使用 HTML 函式讀取 URL 並使用 write_pdf() 函式將其儲存為 PDF。
例如,
import weasyprint
doc_pdf = weasyprint.HTML("https://www.delftstack.com/").write_pdf("sample.pdf")
使用 weasyprint 之前需要安裝很多其他的模組和功能,所以建議不要使用。
此外,Python 2 已取消對此模組的支援。
使用 PyQT
模組使用 Python 將 HTML 儲存為 PDF
PyQT 模組具有廣泛的 GUI 開發功能和其他功能。我們可以手動讀取 HTML 網頁 URL 並使用不同的功能將其轉換為 PDF。
請參考以下程式碼。
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
app = QApplication(sys.argv)
w = QWebView()
w.load(QUrl("https://www.delftstack.com"))
p = Qp()
p.setPageSize(Qp.A4)
p.setOutputFormat(Qp.PdfFormat)
p.setOutputFileName("sample.pdf")
def convertIt():
w.print_(p)
QApplication.exit()
QObject.connect(w, SIGNAL("loadFinished(bool)"), convertIt)
sys.exit(app.exec_())
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn