PDF Processing Guide
Overview
This guide covers essential PDF processing operations using Python libraries and command-line tools. For advanced features, JavaScript libraries, and detailed examples, see reference.md. If you need to fill out a PDF form, read FORMS.md and follow its instructions.
Quick Start
Python Libraries
pypdf - Basic Operations
Merge PDFs
Split PDF
Extract Metadata
Rotate Pages
pdfplumber - Text and Table Extraction
Extract Text with Layout
Extract Tables
Advanced Table Extraction
reportlab - Create PDFs
Basic PDF Creation
Create PDF with Multiple Pages
Subscripts and Superscripts
IMPORTANT: Never use Unicode subscript/superscript characters (₀₁₂₃₄₅₆₇₈₉, ⁰¹²³⁴⁵⁶⁷⁸⁹) in ReportLab PDFs. The built-in fonts do not include these glyphs, causing them to render as solid black boxes.
Instead, use ReportLab's XML markup tags in Paragraph objects:
For canvas-drawn text (not Paragraph objects), manually adjust font the size and position rather than using Unicode subscripts/superscripts.
Command-Line Tools
pdftotext (poppler-utils)
qpdf
pdftk (if available)
Common Tasks
Extract Text from Scanned PDFs
Add Watermark
Extract Images
Password Protection
Quick Reference
Next Steps
- For advanced pypdfium2 usage, see reference.md
- For JavaScript libraries (pdf-lib), see reference.md
- If you need to fill out a PDF form, follow the instructions in FORMS.md
- For troubleshooting guides, see reference.md

