This is your go-to when users need to manipulate PDFs in any way. It handles the full spectrum: extracting text and tables with pdfplumber, merging and splitting with pypdf, creating new PDFs from scratch with reportlab, OCR on scanned documents, and form filling. The guide is practical, with working code snippets for every common operation. One callout worth noting: there's a specific warning about never using Unicode subscript/superscript characters in reportlab because they render as black boxes, use XML tags instead. It covers both Python libraries and command-line tools like qpdf, so you can pick the right approach for the task.

skills.sh installs
821
GitHub stars
33.2K
last updated
Aug 21, 2026

Install

$ npx -y skills add davila7/claude-code-templates --skill pdf --agent claude-code

Installs 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/davila7/claude-code-templates
Category
Office & Documents
First seen
May 16, 2026

More from davila7/claude-code-templates

All 618
1jwynia avatardocx-generatorjwynia/agent-skillsCreate and manipulate Word DOCX files programmatically. Use when the user needs to generate documents, modify DOCX templates, extract document content, or autom736skills.sh installs
2duc01226 avatarmarkdown-to-docxduc01226/easyplatform[Document Processing] Use when you need to convert markdown files to Microsoft Word ( DOCX) format with GFM support and math rendering.649skills.sh installs
3alirezarezvani avatargoogle-workspace-clialirezarezvani/claude-skillsGoogle Workspace administration via the gws CLI (github.com/googleworkspace/cli). Install, authenticate, and automate Gmail, Drive, Sheets, Calendar, Docs, Chat645skills.sh installs
4qodex-ai avatarspreadsheet-processorqodex-ai/ai-agent-skillsProcess and manipulate spreadsheet documents. Creates, edits, analyzes, and transforms Excel files with formula and formatting support.626skills.sh installs
5bobmatnyc avatarxlsxbobmatnyc/claude-mpm-skillsWorking with Excel files programmatically.599skills.sh installs
6onewave-ai avatarpresentation-design-enhanceronewave-ai/claude-skillsTransform text-heavy slides into visual storytelling. Suggest layout improvements, icon usage, and data visualization.596skills.sh installs