c't 20/2019
S. 172
Know-how
PDFs generieren
Aufmacherbild
Bild: Albert Hulm

Druckreif programmiert

Mit der Python-Bibliothek fPDF Rezepte und andere Dokumente erzeugen

Ein paar Zeilen Python mit der Bibliothek fPDF erzeugen automatisch druckbare Dokumente. Liegen beispielsweise Kochrezepte als strukturierte Daten vor, entstehen so im Handumdrehen hübsche Ausdrucke für die Küche.

PDFs eignen sich hervorragend für Belege, Rechnungen und andere Dokumente, die als Kopie auf Papier im Aktenordner im Regal landen sollen. Programme wie LibreOffice exportieren zwar ordentliche PDFs, aber bevor ich mich mit den Tücken von datenbankgetriebenen Seriendokumenten auseinandersetze, progrgammiere ich die PDFs lieber mit Python.

Tabelle
Tabelle: Methoden von fPDF-Objekten

Im konkreten Beispiel habe ich einige Rezepte für persische und indische Köstlichkeiten als strukturierte Datensätze im JSON-Format gesammelt (recipes.json im GitHub-Repository, zu finden über ct.de/yqjq). Die Rezepte haben einen Titel, geben die Portionsgröße an, listen die Zutaten auf und beschreiben die Zubereitung als Liste von Absätzen. Die Bibliothek fPDF und eine Handvoll Zeilen Python-Code verwandeln das wenig ansehnliche JSON in ein hübsches Dokument mit einem Rezept pro Seite. Um eine dieser Seiten sofort sehen zu können, habe ich den Python-Code direkt in einem Jupyter-Notebook programmiert [1].