pdf

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

Updated Aug 7, 2026
One-click install
npx skills add https://github.com/Protremix/EvolvixOS --skill pdf-protremix
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pdf
Source: https://github.com/Protremix/EvolvixOS/tree/main/knowledge/experts/office-automation/skills/pdf
Command: npx skills add https://github.com/Protremix/EvolvixOS --skill pdf-protremix

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pypdf, pdfplumber, 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, making tasks like text extraction, form filling, merging, and OCR error-prone and time-consuming without clear guidance. ## Core Features & Use Cases - PDF Reading & Extraction: Extract text, tables, metadata, and embedded images from PDFs using pypdf, pdfplumber, and poppler-utils, including OCR for scanned documents. - PDF Manipulation & Creation: Merge, split, rotate, encrypt, decrypt, watermark, and create new PDFs with pypdf, reportlab, and qpdf. - PDF Form Filling: Fill both fillable AcroForm fields and non-fillable forms via text annotations, with structure extraction, bounding-box validation, and visual verification scripts. - Use Case: Given a stack of scanned application forms, convert pages to images, determine field coordinates, validate bounding boxes, and produce completed PDFs automatically. ## Quick Start Use the pdf skill to extract all text and tables from the attached report.pdf and save the tables 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 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 simple text extraction, pypdf's page.extract_text() or the pdftotext command-line tool also work.

How do I fill a PDF form that has no fillable fields?▼

Extract the form structure with pdfplumber to get label and checkbox coordinates, or convert pages to images and estimate positions visually. Then add text annotations at those coordinates using pypdf's FreeText annotations.

Can I extract text from a scanned PDF document?▼

Scanned PDFs contain images, not text layers, so standard parsers fail. Convert pages to images with pdf2image or pdftoppm, then run OCR with pytesseract to recover the text.

What is the difference between pypdf, pdfplumber, and reportlab?▼

pypdf handles reading, merging, splitting, rotating, and encrypting PDFs. pdfplumber specializes in text and table extraction with coordinates. reportlab is used to create new PDF documents from scratch.

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

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

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'. pdftk offers similar merge and burst operations.