We Don’t Need No Stinkin’ PDF Library: Build PDFs with Python the Lazy Way
summary
Advocates using Libre/OpenOffice as the authoring tool, then edit content.xml inside the zipped ODF, use bookmarks as placeholders (found via XPath) to insert dynamic values, rezip and run unoconv to produce PDFs. Compares this to ReportLab: ReportLab is pure Python and flexible; the Libre/OpenOffice route is far faster when most pages are static and only a few fields change, but it’s brittle for creating new complex elements, limited for parallel scaling (single instance issues) and works reliably for demos and batch jobs.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 2:16Method overview
- 5:55ReportLab demonstration
- 9:26LibreOffice demonstration
- 15:52Comparison of methods
- 21:00Real-world examples
- 24:28Strengths and weaknesses
- 27:05Workflow and efficiency
- 37:06Q&A and conclusion
related talks
31mUsing Python in a Traditional Office
01h 25mLearn to Unlock Document Intelligence with Open-Source AI
52mWriting Books using Python & Open Source Software
54mLibreOffice Technology, a FOSS platform for personal productivity
38mRinohType, a document processor inspired by LaTeX
54mAdobe Document Services
01h 07mMeet Docling: The “Pandas” for Document AI
43mSDAPS
