processing-pdfs logo

processing-pdfs

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.

SKILL.md

Full skill instructions

PDF Processing

Essential PDF operations using Python libraries and CLI tools.

Decision Matrix

TaskBest ToolReference
Merge / split / metadata / rotatepypdfrecipes.md
Extract text (layout preserved)pdfplumberrecipes.md
Extract tablespdfplumberrecipes.md
Create new PDFreportlabrecipes.md
Batch CLI opsqpdf / pdftkrecipes.md
OCR scanned PDFspytesseract + pdf2imageadvanced.md
Add watermark / extract images / encryptpypdf / pdfimagesadvanced.md
Fill PDF formspdf-lib / pypdfFORMS.md
Advanced pypdfium2 / pdf-lib JSREFERENCE.md

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

  1. Identify task — text extraction? table? creation? form? Pick row from matrix above.
  2. Load reference — recipes.md covers 90% of tasks; advanced.md for OCR / encrypt; FORMS.md for forms.
  3. Implement — copy-adapt recipe; verify output.
  4. Validate — open in a viewer or grep extracted text.

Library Selection

LibraryUse for
pypdfMerge, split, metadata, encryption, rotation
pdfplumberText extraction with layout, tables
reportlabGenerate PDFs programmatically
pdf2image + pytesseractOCR scanned documents
qpdf / pdftk (CLI)Batch ops, no Python needed