pdf

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

9|2|Updated Jan 31, 2026
One-click install
npx skills add https://github.com/AbdullahMalik17/Hacathan_5 --skill pdf-abdullahmalik17
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pdf
Source: https://github.com/AbdullahMalik17/Hacathan_5/tree/main/.claude/skills/pdf
Command: npx skills add https://github.com/AbdullahMalik17/Hacathan_5 --skill pdf-abdullahmalik17

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pypdf, pdf2image, 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 tasks like filling forms, extracting tables, or merging documents each require different approaches. This Skill consolidates proven PDF processing workflows into one guide with ready-to-use scripts. ## Core Features & Use Cases - Text and Table Extraction: Pull text and structured tables from PDFs using pdfplumber and pypdf, with OCR support for scanned documents. - PDF Creation and Manipulation: Generate new PDFs with reportlab, merge or split documents, rotate pages, add watermarks, and manage encryption. - Form Filling: Fill both fillable and non-fillable PDF forms using dedicated scripts that extract field info, validate bounding boxes, and write annotations. - Use Case: You receive a non-fillable government form as a PDF. The Skill converts pages to images, guides bounding box validation, and produces a completed PDF with text annotations placed precisely on the form. ## Quick Start Use the pdf skill to extract all tables from the attached report.pdf and save them to an Excel file.

Frequently Asked Questions about pdf

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

FAQPage Schema
How do I fill out a PDF form programmatically?▼

First run check_fillable_fields.py to detect fillable fields. If fields exist, extract them with extract_form_field_info.py and fill them via fill_fillable_fields.py. For non-fillable PDFs, convert pages to images, define bounding boxes in fields.json, validate them, then apply text annotations.

How do I extract tables from a PDF in Python?▼

Use pdfplumber's extract_tables method on each page to get table data as lists of rows. You can convert the results into pandas DataFrames and export them to Excel or CSV for further analysis.

What is the difference between pypdf and pdfplumber?▼

pypdf handles structural operations like merging, splitting, rotating, metadata, and encryption. pdfplumber focuses on content extraction with layout awareness, making it better for text positioning and table detection.

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 pytesseract OCR on each image to recover the text.

Why does my filled PDF form not display values in some viewers?▼

Some viewers fail to render form values without appearance streams. The fill_fillable_fields.py script calls set_need_appearances_writer(True) so viewers regenerate field appearances, though some may show a save-changes prompt.

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

Use qpdf with the --empty --pages syntax to merge files or select page ranges, and --split-pages to divide a document. pdftk and pypdf offer equivalent merge and split operations if qpdf is unavailable.