htmlpdf

HTML zu PDF · Python

HTML zu PDF mit Python und pdfkit

pdfkit ist ein duenner Python-Wrapper um das CLI-Werkzeug wkhtmltopdf. Es uebersetzt einfache Funktionsaufrufe in Kommandozeilen-Optionen und gibt das fertige PDF zurueck. Die wkhtmltopdf-Binary muss separat installiert sein.

Code-Beispiel

import pdfkit

html = "<h1>Lieferschein</h1><p>Position 1: Kabel</p>"

options = {
    "page-size": "A4",
    "margin-top": "20mm",
    "margin-bottom": "20mm",
    "enable-local-file-access": "",
}

pdfkit.from_string(html, "lieferschein.pdf", options=options)

# Aus Datei oder URL
pdfkit.from_file("seite.html", "seite.pdf", options=options)

Hinweise

pdfkit selbst rendert nichts, sondern ruft im Hintergrund wkhtmltopdf auf. Damit erbt es die Eigenschaften der WebKit-basierten Binary: schnelle, genuegsame Erzeugung einfacher Dokumente, aber eingeschraenkte Unterstuetzung moderner CSS-Features wie Grid. Der Mehrwert liegt in der bequemen Python-API. Statt Kommandozeilen-Strings zusammenzubauen, uebergibt man HTML als String, Datei oder URL und konfiguriert Optionen ueber ein Dictionary. Die Schluessel entsprechen direkt den wkhtmltopdf-Flags, weshalb sich Doku und Wissen direkt uebertragen lassen. Wichtig ist, dass die wkhtmltopdf-Binary im Pfad liegt oder explizit ueber configuration gesetzt wird, sonst schlaegt der Aufruf fehl. Fuer lokale Ressourcen muss enable-local-file-access gesetzt sein. pdfkit eignet sich gut fuer Teams, die in Python arbeiten, schnell Reports brauchen und mit den CSS-Grenzen der WebKit-Engine leben koennen.

Anzeige

FAQ

Häufige Fragen

Brauche ich wkhtmltopdf zusaetzlich zu pdfkit?

Ja. pdfkit ist nur ein Wrapper und ruft die wkhtmltopdf-Binary auf. Diese muss auf dem System installiert und im Pfad erreichbar sein, sonst schlaegt der Aufruf fehl.

Wie reiche ich CSS-Optionen durch?

Ueber das options-Dictionary. Die Schluessel entsprechen den wkhtmltopdf-Flags, etwa page-size oder margin-top. Leere Werte stehen fuer Schalter ohne Argument.

Ohne Code geht es auch: Der HTML-zu-PDF-Converter wandelt direkt im Browser um, ohne Installation und ohne Upload.

Anzeige
Anzeige
Anzeige
Anzeige