This is your Swiss Army knife for PDF work. You get text extraction with pdfplumber (including tables), basic operations like merging and splitting with pypdf, and PDF creation from scratch using reportlab. The guide covers both Python libraries and command-line tools like qpdf, plus it includes OCR for scanned documents and form filling instructions in a separate doc. The table extraction to pandas DataFrames is especially handy. It's comprehensive enough that you won't need to hunt down other references for most PDF tasks, whether you're processing invoices at scale or just need to split a document.
- skills.sh installs
- 924
- GitHub stars
- 849
- last updated
- Aug 21, 2026
Install
$ npx -y skills add tfriedel/claude-office-skills --skill pdf --agent claude-codeInstalls into .claude/skills of the current project.
Files
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
from pypdf import PdfReader, PdfWriter
# Read a PDF
reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")
# Extract text
text = ""
for page in reader.pages:
text += page.extract_text()
Python Libraries
pypdf - Basic Operations
Merge PDFs
from pypdf import PdfWriter, PdfReader
writer = PdfWriter()
for pdf_file in ["doc1.pdf", "doc2.pdf", "doc3.pdf"]:
reader = PdfReader(pdf_file)
for page in reader.pages:
writer.add_page(page)
with open("merged.pdf", "wb") as output:
writer.write(output)
Split PDF
reader = PdfReader("input.pdf")
for i, page in enumerate(reader.pages):
writer = PdfWriter()
writer.add_page(page)
with open(f"page_{i+1}.pdf", "wb") as output:
writer.write(output)
Sponsors
Details
- Repository
- github.com/tfriedel/claude-office-skills
- Category
- Office & Documents
- First seen
- Jun 3, 2026
