name: processing-pdfs
description: Processes PDF files. Extracts text and tables, fills forms, merges and splits documents, batch-processes files, converts to images, and generates PDFs programmatically. Use when working with .pdf files. Do NOT use for Word documents, spreadsheets, or presentations.
user-invocable: false
allowed-tools: Bash, Read, Write, Edit, Glob
argument-hint: <file.pdf | task>
PDF Processing
Essential PDF operations using Python libraries and CLI tools.
Decision Matrix
Quick Start
from pypdf import PdfReader
reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")
text = "".join(page.extract_text() for page in reader.pages)
Workflow
- Identify task — text extraction? table? creation? form? Pick row from matrix above.
- Load reference — recipes.md covers 90% of tasks; advanced.md for OCR / encrypt; FORMS.md for forms.
- Implement — copy-adapt recipe; verify output.
- Validate — open in a viewer or grep extracted text.
Library Selection
| Library |
Use for |
| pypdf |
Merge, split, metadata, encryption, rotation |
| pdfplumber |
Text extraction with layout, tables |
| reportlab |
Generate PDFs programmatically |
| pdf2image + pytesseract |
OCR scanned documents |
| qpdf / pdftk (CLI) |
Batch ops, no Python needed |