document-skills-pdf

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

Updated Sep 23, 2026
One-click install
npx skills add https://github.com/ehadziabdic/WAgents --skill document-skills-pdf-ehadziabdic
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: document-skills-pdf
Source: https://github.com/ehadziabdic/WAgents/tree/main/opencode/skills/document-skills-pdf
Command: npx skills add https://github.com/ehadziabdic/WAgents --skill document-skills-pdf-ehadziabdic

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pypdf, pdfplumber, pdf2image, Pillow, pytesseract, reportlab, pypdfium2, 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, making tasks like text extraction, form filling, merging, and OCR error-prone and time-consuming without clear guidance. ## Core Features & Use Cases - PDF Manipulation: Merge, split, rotate, encrypt, decrypt, watermark, and crop PDFs using pypdf, qpdf, and pdftk. - Content Extraction: Extract text, tables, metadata, and embedded images with pdfplumber, pdftotext, and pdfimages, plus OCR for scanned documents via pytesseract. - PDF Creation & Form Filling: Generate new PDFs with reportlab or pdf-lib, and fill both fillable and non-fillable PDF forms using dedicated scripts with coordinate validation. - Use Case: Given a stack of scanned vendor invoices, convert them to images, run OCR to make them searchable, extract table data into a spreadsheet, and merge the results into a single archive PDF. ## Quick Start Ask the AI to extract all text and tables from a PDF file, or to fill out a PDF form using the provided scripts.

Frequently Asked Questions about document-skills-pdf

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

FAQPage Schema
How do I extract text and tables from a PDF in Python?▼

Use pdfplumber to extract text with layout preserved and to detect tables via page.extract_tables(). For plain text, pdftotext from poppler-utils is the fastest option, and results can be converted to pandas DataFrames or Excel files.

How do I fill out a PDF form programmatically?▼

First run check_fillable_fields.py to detect form fields. Fillable PDFs are filled with fill_fillable_fields.py using extracted field IDs, while non-fillable PDFs are filled with text annotations via fill_pdf_form_with_annotations.py using bounding box coordinates.

Which Python library should I use for PDF processing?▼

Use pypdf for merging, splitting, rotating, and encryption; pdfplumber for text and table extraction; reportlab for creating new PDFs; and pypdfium2 for fast page rendering. Command-line tools qpdf and pdftotext handle many tasks faster.

Can I extract text from a scanned PDF?▼

Scanned PDFs have no text layer, so standard parsers fail. Convert pages to images with pdf2image, then run OCR with pytesseract to produce searchable text from each page.

Why do subscript characters render as black boxes in reportlab PDFs?▼

ReportLab's built-in fonts lack Unicode subscript and superscript glyphs, so those characters render as solid boxes. Use the <sub> and <super> XML tags inside Paragraph objects instead of Unicode characters.