pdf

Extract, create, merge, split, and fill PDF documents using Python libraries and command-line tools.

Updated Jan 21, 2026
One-click install
npx skills add https://github.com/usf-cen4020-s26/in_college_program --skill pdf-usf-cen4020-s26
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pdf
Source: https://github.com/usf-cen4020-s26/in_college_program/tree/main/.claude/skills/pdf
Command: npx skills add https://github.com/usf-cen4020-s26/in_college_program --skill pdf-usf-cen4020-s26

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Working with PDF files programmatically is fragmented across many libraries and tools, and filling PDF forms—especially non-fillable ones—requires tedious manual coordinate mapping. This Skill consolidates PDF text extraction, table parsing, document creation, merging, splitting, and form filling into one guided workflow with ready-to-run scripts. ## Core Features & Use Cases - Text and Table Extraction: Pull text and structured tables from PDFs using pypdf and pdfplumber, with OCR support for scanned documents via pytesseract. - PDF Creation and Manipulation: Generate new PDFs with reportlab, merge and split documents, rotate pages, add watermarks, and manage encryption with pypdf and qpdf. - Automated Form Filling: Detect fillable form fields, extract field metadata to JSON, and fill them programmatically; for non-fillable PDFs, visually map bounding boxes, validate them, and stamp text annotations. - Use Case: You receive a stack of government PDF forms without fillable fields. The Skill converts pages to images, guides bounding-box annotation, validates the layout, and produces completed PDFs automatically. ## Quick Start Use the pdf skill to extract all text and tables from the attached report.pdf and summarize the results.

Frequently Asked Questions about pdf

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

FAQPage Schema
How do I fill a PDF form programmatically in Python?

First check whether the PDF has fillable fields using pypdf's get_fields method. If it does, extract field metadata to JSON and set values with update_page_form_field_values. For non-fillable PDFs, map text entry bounding boxes on rendered page images and add FreeText annotations at those coordinates.

How do I extract tables from a PDF file?

Use pdfplumber's extract_tables method, which detects cell boundaries and returns rows as lists. You can convert the results to pandas DataFrames and export to Excel. Custom table settings like snap_tolerance help with complex layouts.

What is the difference between pypdf and pdfplumber?

pypdf handles structural operations like merging, splitting, rotating, encryption, and form field manipulation. pdfplumber specializes in content extraction with precise character coordinates and table detection. They are commonly used together.

Can I extract text from a scanned PDF?

Scanned PDFs contain images rather than text layers, so standard parsers return nothing. Convert pages to images with pdf2image, then run OCR with pytesseract to recover the text content.

Why does my filled PDF form show blank fields in some viewers?

Some viewers fail to render form values without appearance streams. Setting set_need_appearances_writer to True in pypdf forces viewers to regenerate field appearances, though it may trigger a save-changes prompt.

How do I merge or split PDFs from the command line?

Use qpdf: merge with 'qpdf --empty --pages file1.pdf file2.pdf -- merged.pdf' and split page ranges with 'qpdf input.pdf --pages . 1-5 -- out.pdf'. It also supports rotation, decryption, and linearization for web streaming.