pdf

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

1|Updated Feb 18, 2026
One-click install
npx skills add https://github.com/Emmanuel-R8/aikos --skill pdf-emmanuel-r8
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pdf
Source: https://github.com/Emmanuel-R8/aikos/tree/main/.cursor/skills/pdf
Command: npx skills add https://github.com/Emmanuel-R8/aikos --skill pdf-emmanuel-r8

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 PDF manipulation into one toolkit with ready-to-use code patterns and scripts. ## Core Features & Use Cases - Text and Table Extraction: Pull text and structured tables from PDFs using pypdf, pdfplumber, and pdftotext, including OCR support for scanned documents. - 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: 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 stack of non-fillable PDF application forms. The Skill converts pages to images, guides bounding-box validation, and produces completed PDFs with text annotations placed precisely on each field. ## 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 extract tables from a PDF in Python?▼

Use pdfplumber's page.extract_tables() method to detect and extract tables from each PDF page. The results can be loaded into pandas DataFrames and exported to Excel or CSV for further analysis.

How do I fill a PDF form programmatically?▼

First run check_fillable_fields.py to detect fillable fields. For fillable PDFs, extract field info to JSON and use fill_fillable_fields.py with your values. For non-fillable PDFs, convert pages to images, define bounding boxes in fields.json, validate them, and add text annotations.

What is the difference between pypdf and pdfplumber?▼

pypdf handles structural operations like merging, splitting, rotating, metadata, and encryption. pdfplumber specializes in content extraction, providing text with layout coordinates and table detection. Use both together for complete PDF workflows.

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.

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

Use qpdf with the --empty --pages syntax to merge multiple files or extract page ranges. Alternatively, pypdf's PdfWriter can merge documents and write individual pages to separate files in Python.

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 dialog.