Kostenlose Python-Bibliothek für HTML‑ und CSS‑Konvertierung zu PDF
Open-Source-Python-Bibliothek ermöglicht das Erzeugen von PDF-Dokumenten aus HTML. Sie unterstützt fortgeschrittenes Seitenlayout, das Rendern von Bildern & Tabellen, das Hinzufügen benutzerdefinierter Schriftarten, Kopf‑/Fußzeilen und vieles mehr.
Was ist die XHTML2PDF-Bibliothek?
In der Welt der Webentwicklung ist das Erzeugen von PDF-Dokumenten aus HTML-Inhalten ein häufiges Bedürfnis. Ob für die Erstellung von Rechnungen, Berichten oder anderen druckbaren Dokumenten – ein zuverlässiges Werkzeug für diese Umwandlung ist entscheidend. Hier kommt XHTML2PDF, eine leistungsstarke Open-Source-Python-Bibliothek, zur Rettung. html2pdf (früher bekannt als pisa) ist eine reine Python-Bibliothek, die HTML (einschließlich XHTML) und CSS in PDF-Dokumente umwandelt. Sie basiert auf dem ReportLab-Toolkit und html5lib, mit optionaler Unterstützung durch PyPDF. Plattformunabhängig und leicht zugänglich ermöglicht sie Entwicklern, ihre webbasierten Inhalte schnell und effektiv in druckbare PDFs zu verwandeln.
XHTML2PDF ist mit Funktionen ausgestattet, die es zu einem vielseitigen Werkzeug für die PDF-Erstellung machen. Es unterstützt HTML5 und CSS 2.1, nahtlose Django-Integration, eine leistungsstarke Befehlszeilenschnittstelle, benutzerdefinierte PDF-spezifische Tags, fortgeschrittenes Seitenlayout und Styling, bessere Unterstützung für Tabellen & Bilder und vieles mehr. Was XHTML2PDF für Entwickler so attraktiv macht, ist seine Einfachheit und Flexibilität. Wenn Sie wissen, wie man HTML und CSS schreibt, können Sie mit dieser Bibliothek in kürzester Zeit PDFs erzeugen. Es ist eine reine Python-Bibliothek, das bedeutet, sie ist plattformunabhängig und kann auf jedem Betriebssystem ausgeführt werden, das Python unterstützt. Es ist auch wichtig, sich der Bibliotheksbeschränkungen bewusst zu sein: Sie unterstützt nicht die gesamte CSS-Spezifikation und führt kein JavaScript aus.
Erste Schritte mit XHTML2PDF
XHTML2PDF kann mit pip installiert werden; die folgenden Befehle installieren aus einem Python‑Wheel, falls für Ihre Plattform eines verfügbar ist.
XHTML2PDF via pip installieren
pip install xhtml2pdf Repository über GitHub klonen
git clone https://github.com/xhtml2pdf/xhtml2pdf.git Es ist auch möglich, es manuell zu installieren; laden Sie die neuesten Release-Dateien direkt aus dem GitHub-Repository herunter.
HTML & CSS via Python in PDF konvertieren
Die Hauptfunktion der Open-Source-Bibliothek XHTML2PDF besteht darin, HTML und CSS (einschließlich Inline-Styles) zu analysieren und sie exakt in ein PDF-Dokument zu rendern. Sie unterstützt eine große Teilmenge von HTML-Tags und CSS-Eigenschaften, was erhebliche Gestaltungsflexibilität ermöglicht. Sie bietet Funktionen wie Seitenumbrüche, Kopf- und Fußzeilen, Seitenränder und -größe, das Einbetten von Schriftarten und so weiter. Das folgende einfache Beispiel zeigt, wie Softwareentwickler HTML-Inhalte mithilfe von Python-Code in eine PDF-Datei konvertieren können.
Wie konvertiert man HTML-Inhalte in eine PDF-Datei mit Python?
from xhtml2pdf import pisa
# Der zu konvertierende HTML-Inhalt
html_content = """
Hallo, Welt!
Dies ist mein erstes PDF, das mit XHTML2PDF erzeugt wurde.
"""
# Der Name der Ausgabedatei PDF
output_filename = "hello_world.pdf"
# Öffne die Ausgabedatei im Binärschreibmodus
with open(output_filename, "w+b") as pdf_file:
# Create the PDF
pisa_status = pisa.CreatePDF(
html_content, # the HTML to convert
dest=pdf_file) # file handle to receive result
# Überprüfe, ob die PDF-Erstellung erfolgreich war
if not pisa_status.err:
print(f"Successfully created PDF: {output_filename}")
else:
print(f"Error creating PDF: {pisa_status.err}")
Erweiterte Seitenlayout- & benutzerdefinierte Schriftartenunterstützung
Mit der XHTML2PDF-Bibliothek haben Softwareentwickler eine feinkörnige Kontrolle über das Layout ihrer PDF-Seiten. Sie können Seitenformat, Ränder und Ausrichtung mithilfe der CSS-Regel @page festlegen. Entwickler können zudem benutzerdefinierte Kopf- und Fußzeilen für ihre Dokumente erstellen. Darüber hinaus ermöglicht die Bibliothek das Einbetten benutzerdefinierter Schriftarten, falls Sie bestimmte Fonts in Ihren PDFs verwenden müssen. Dies ist besonders nützlich für Branding und die Gewährleistung einer konsistenten Typografie in allen Dokumenten.
PDF-Bilder & Tabellen Rendering über die Python-Bibliothek
Die Open-Source-Bibliothek XHTML2PDF bietet robuste Unterstützung für das Rendern von Tabellen und Bildern in Ihren PDFs. Sie können Ihre Tabellen mit CSS stylen und bei Bildern deren Größe und Ausrichtung steuern. Die Bibliothek kann Bilder, Schriftarten und andere statische Assets leicht und korrekt auflösen sowie einbetten, was für die Erstellung von eigenständigen PDFs entscheidend ist. Sie können automatisch ein Inhaltsverzeichnis erzeugen, indem Sie einfach das
HTML5- und CSS‑2.1-Unterstützung
Wenn Sie mit HTML und CSS vertraut sind, wird das Erstellen von PDFs mit Stil intuitiv – es gibt keine neue Lernkurve. Die XHTML2PDF-Bibliothek bietet hervorragende Unterstützung für moderne Webstandards, einschließlich HTML5 und CSS 2.1, mit teilweise Unterstützung für CSS‑3‑Eigenschaften. Das bedeutet, dass Sie bekannte HTML‑Tags und CSS‑Eigenschaften verwenden können, um Ihre PDF‑Dokumente zu strukturieren und zu stylen, genau wie bei einer Webseite.