HTML als PDF in Python speichern
-
Verwenden Sie die API
wkhtmltopdf
mit Pdfkit, um HTML mit Python als PDF zu speichern -
Verwenden Sie das Modul
weasyprint
, um HTML mit Python als PDF zu speichern -
Verwenden Sie das Modul
PyQT
, um HTML mit Python als PDF zu speichern
HTML ist die grundlegendste und beliebteste Sprache für die Webentwicklung. Es bildete die Basis für viele Sprachen. Python unterstützt das Erstellen von Verbindungen und das Arbeiten mit Websites.
Ein PDF ist ein tragbares Dokument, das auf verschiedenen Geräten angezeigt werden kann und unabhängig von der Software ist, mit der es erstellt wurde.
In diesem Tutorial speichern wir eine HTML-Webseite mit Python als PDF.
Verwenden Sie die API wkhtmltopdf
mit Pdfkit, um HTML mit Python als PDF zu speichern
wkhtmltopdf ist ein Open-Source-Set von Tools, die eine HTML-Webseite in eine PDF-Datei konvertieren können. Wir verwenden das pdfkit-Modul, um damit in Python zu arbeiten. Die Funktionen dieses Moduls können auf einzelnen oder mehreren Webseiten arbeiten und diese als PDF-Datei speichern.
Wir können den Inhalt direkt von der Webseiten-URL oder einer auf dem Gerät gespeicherten HTML-Datei lesen. Die Funktion from_url() liest Inhalt von einer URL und die Funktion from_file() liest aus einer Datei.
Innerhalb der Funktion können Name und Pfad der Datei angegeben werden.
Sehen Sie sich den folgenden Code an, um ihre Verwendung zu sehen
import pdfkit
pdfkit.from_url("https://www.delftstack.com/", "sample.pdf")
Wir können diesen Inhalt auch in einer Variablen speichern, indem wir False in der Funktion anstelle des PDF-Namens erwähnen.
Denken Sie daran, wkhtmltopdf von der offiziellen Website zu installieren, bevor Sie diese Methode verwenden.
Verwenden Sie das Modul weasyprint
, um HTML mit Python als PDF zu speichern
Das Modul weasyprint wird verwendet, um Webseiten in Dokumentformate zu rendern. Wir verwenden die HTML-Funktion, um die URL zu lesen und mit der Funktion write_pdf() als PDF zu speichern.
Beispielsweise,
import weasyprint
doc_pdf = weasyprint.HTML("https://www.delftstack.com/").write_pdf("sample.pdf")
Viele andere Module und Funktionalitäten müssen vor der Verwendung von weasyprint installiert werden, daher wird empfohlen, es nicht zu verwenden.
Außerdem hat Python 2 die Unterstützung für dieses Modul entfernt.
Verwenden Sie das Modul PyQT
, um HTML mit Python als PDF zu speichern
Das PyQT-Modul verfügt über eine Vielzahl von Funktionen für die GUI-Entwicklung und andere Funktionen. Wir können eine HTML-Webseiten-URL manuell lesen und mit verschiedenen Funktionen in ein PDF konvertieren.
Siehe den folgenden Code.
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