pdf

Fill PDF forms and process documents with Python-based CLI scripts.

804|117|Updated Oct 4, 2025
One-click install
npx skills add https://github.com/tfriedel/claude-office-skills --skill pdf-tfriedel
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pdf
Source: https://github.com/tfriedel/claude-office-skills/tree/main/public/pdf
Command: npx skills add https://github.com/tfriedel/claude-office-skills --skill pdf-tfriedel

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pypdf, pdfplumber, reportlab, pytesseract, pdf2image, Pillow, and includes scripts (resource) components.

What problem does it solve?

This Skill liberates you from the repetitive and often frustrating manual tasks associated with PDF documents, such as filling out forms, extracting information, or merging/splitting files. It streamlines document workflows, saving significant time and reducing human error.

Core Features & Use Cases

  • Automated Form Filling: Programmatically fill both fillable and non-fillable PDF forms with precise data.
  • Advanced Data Extraction: Extract text, structured tables, and even perform OCR on scanned PDFs to convert them into usable data.
  • Document Manipulation: Merge multiple PDFs, split large documents into individual pages, rotate pages, and extract metadata.
  • PDF Generation: Create new PDF documents from scratch with custom content and layouts.
  • Use Case: Process a batch of incoming client application forms (some fillable, some scanned), extract key applicant details, populate a database, and generate a summary report, all without manual intervention.

Quick Start

Read a PDF, get page count, and extract text from all pages

from pypdf import PdfReader

reader = PdfReader("document.pdf") print(f"Pages: {len(reader.pages)}")

text = "" for page in reader.pages: text += page.extract_text() print(text)

Frequently Asked Questions about pdf

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate filling PDF forms with data from a database or spreadsheet?

Automated form filling extracts fillable field metadata from PDFs, then programmatically populates those fields with your data using libraries like pypdf and reportlab. This eliminates manual data entry across batches of forms, whether fillable or scanned, and outputs completed PDFs ready for storage or processing.

Can I extract text and tables from scanned PDFs or images?

Yes. This Skill performs OCR on scanned PDFs using pytesseract and pdf2image to convert image-based pages into machine-readable text and structured tables, then extracts that data programmatically. This transforms unstructured scanned documents into usable information for databases or reports.

What's the best way to merge, split, and manipulate multiple PDF documents at scale?

Batch PDF manipulation merges multiple documents, splits large files into individual pages, rotates pages, and extracts metadata using pypdf and reportlab. This approach handles high-volume document workflows programmatically, reducing manual file handling and enabling automated distribution or archival.

Do I need to manually handle fillable versus non-fillable PDF forms differently?

No. This Skill detects fillable fields automatically and applies the appropriate filling method—programmatic for fillable forms, annotation-based for non-fillable ones. A single workflow processes mixed form types without manual intervention.

Can I generate new PDFs with custom content and layouts programmatically?

Yes. PDF generation creates new documents from scratch with custom text, layouts, and styling using reportlab. Combined with form filling and data extraction, this enables end-to-end automation: ingest source data, process it, and output formatted reports or completed forms.

What are the limitations when working with complex or encrypted PDFs?

Complex layouts and encrypted PDFs may require additional validation of bounding boxes and field coordinates to ensure accurate filling and extraction. The Skill handles standard PDFs reliably; edge cases with unusual encoding or heavy encryption may need preprocessing or manual validation steps.