Was ist PDFKit für Python?
PDFKit ist eine leistungsstarke Python-Bibliothek, die als Wrapper für das Tool wkhtmltopdf fungiert. Dieses nutzt die WebKit-Engine, um HTML-Dokumente in PDF-Dateien zu konvertieren. Mit dieser Bibliothek können Entwickler professionelle PDF-Dokumente erstellen, die komplexe Layouts, moderne CSS-Stile, eingebettete Schriftarten, SVG-Grafiken und sogar JavaScript originalgetreu bewahren.
Der Hauptvorteil von PDFKit liegt darin, dass Sie vertraute Webtechnologien (HTML, CSS) für die Dokumentenerstellung nutzen können, die dann mit hoher Renderqualität in PDF umgewandelt werden. Damit ist es das ideale Werkzeug für die Erstellung von Berichten, Rechnungen, Tickets, Zertifikaten und anderen Dokumenten mit dynamischem Inhalt.
Funktionen der PDFKit-Bibliothek
Unterstützte Technologien
- Modernes HTML5 und CSS3
- Bootstrap, Tailwind CSS und andere CSS-Frameworks
- SVG-Grafiken und Webschriften
- Tabellen mit komplexer Formatierung
- Flexbox- und Grid-Layouts
- CSS Media Queries
- Basisunterstützung für JavaScript
Datenquellen für die Konvertierung
PDFKit unterstützt die Konvertierung aus drei Hauptquellen:
- URLs von Webseiten
- Lokale HTML-Dateien
- HTML-Strings im Arbeitsspeicher der Anwendung
Installation und Einrichtung
Installation der Python-Bibliothek
pip install pdfkit
Installation von wkhtmltopdf
Ubuntu/Debian:
sudo apt update
sudo apt install wkhtmltopdf
macOS (via Homebrew):
brew install --cask wkhtmltopdf
Windows: Laden Sie die Installationsdatei von der offiziellen Website herunter: https://wkhtmltopdf.org/downloads.html. Es sind Versionen für Windows Vista und höher verfügbar, sowohl als 32-Bit- als auch als 64-Bit-Varianten.
CentOS/RHEL/Amazon Linux:
# Für CentOS 7
sudo yum install wkhtmltopdf
# Für neuere Versionen
sudo dnf install wkhtmltopdf
Installation überprüfen
Stellen Sie nach der Installation sicher, dass wkhtmltopdf im System verfügbar ist:
wkhtmltopdf --version
Wenn der Befehl nicht gefunden wird, müssen Sie den Pfad zur ausführbaren Datei im Python-Code konfigurieren.
Wichtige Methoden und Funktionen
PDF aus verschiedenen Quellen erstellen
import pdfkit
# Aus einer URL
pdfkit.from_url("https://example.com", "output.pdf")
# Aus einer HTML-Datei
pdfkit.from_file("template.html", "output.pdf")
# Aus einem HTML-String
html_content = "<h1>Überschrift</h1><p>Dokumentinhalt</p>"
pdfkit.from_string(html_content, "output.pdf")
Pfad zu wkhtmltopdf konfigurieren
Falls wkhtmltopdf nicht in der Systemvariablen PATH ist, können Sie den Pfad manuell angeben:
config = pdfkit.configuration(wkhtmltopdf='/usr/local/bin/wkhtmltopdf')
pdfkit.from_string(html_content, "output.pdf", configuration=config)
PDF im Arbeitsspeicher generieren
Für Webanwendungen und APIs ist es oft nötig, das PDF als Byte-Objekt zu erhalten:
# Gibt PDF als Bytes zurück
pdf_bytes = pdfkit.from_string(html_content, False)
# Kann über eine HTTP-Antwort gesendet werden
from flask import Response
return Response(pdf_bytes, mimetype='application/pdf')
Generierungsparameter anpassen
Grundlegende Formatierungsoptionen
options = {
'page-size': 'A4',
'margin-top': '0.75in',
'margin-right': '0.75in',
'margin-bottom': '0.75in',
'margin-left': '0.75in',
'encoding': "UTF-8",
'no-outline': Auch in der Bibliothek
PDF-Berichte mit PHP generieren: Überblick über Bibliotheken und Werkzeuge
godotenv für Go: Vollständige Anleitung mit Beispielen
Maschinelles Lernen mit C# (.NET): Überblick über Bibliotheken und Werkzeuge