🛠 High-Fidelity Creation
When generating polished reports:
- •Generate: Use Reportlab (programmatic) or Platypus (templated) as the primary engine.
- •Preview: Convert every page to PNG for inspection:
- •
pdftoppm -png -r 150 document.pdf page
- •
- •Inspect: Verify that charts, tables, and typography are sharp and well-aligned.
📋 Common Operations
1. Form Filling
- •Identify fillable fields using
scripts/extract_form_field_info.py. - •Reference: See
references/forms.mdfor detailed instructions on filling PDF forms. - •Populate fields programmatically and verify using the Render loop.
2. Manipulation (pypdf)
- •Merge: Use
PdfWriterto combine multiple documents. - •Split: Extract individual pages into new files.
- •Secure: Add passwords or watermarks using
PdfWriter.encrypt(). - •Reference: See
references/reference.mdfor advanced features and JS library alternatives.
3. Extraction (pdfplumber)
- •Extract text with layout preservation.
- •Extract complex tables directly into Pandas DataFrames for analysis.
💎 Quality Expectations
- •Legibility: Text must be readable at 100% zoom; avoid walls of dense text.
- •Polish: Maintain intentional visual design—consistent margins and color palettes.
- •Verification: Zero defects (black squares, clipped text) permitted in final output.