pdf

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

Updated May 15, 2026
One-click install
npx skills add https://github.com/danielbere1973/promoar --skill pdf-danielbere1973
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pdf
Source: https://github.com/danielbere1973/promoar/tree/main/.agents/skills/pdf
Command: npx skills add https://github.com/danielbere1973/promoar --skill pdf-danielbere1973

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 extract images or metadata from PDF files using pypdf, qpdf, and poppler-utils. - Text and Table Extraction: Pull text with layout and structured tables into pandas DataFrames or Excel using pdfplumber, plus OCR for scanned documents via pytesseract. - PDF Creation and Form Filling: Generate new PDFs with reportlab and fill both fillable and non-fillable PDF forms using dedicated scripts with coordinate validation. - Use Case: Given a stack of scanned application forms, convert them to images, determine field coordinates, validate bounding boxes, and produce completed PDFs automatically. ## Quick Start Use the pdf skill to merge the three attached PDF reports into a single document and extract the tables from page two into a spreadsheet.

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(). The results can be loaded into pandas DataFrames and exported to Excel for further analysis.

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

Run extract_form_structure.py to get label and checkbox coordinates, or convert pages to images and estimate positions visually. Then create a fields.json file, validate it with check_bounding_boxes.py, and fill it using fill_pdf_form_with_annotations.py.

Which tool should I use to merge or split PDF files?▼

Use pypdf's PdfWriter for programmatic merging and splitting in Python, or qpdf from the command line for complex page ranges like qpdf --empty --pages file1.pdf file2.pdf -- merged.pdf.

Can I extract text from a scanned PDF document?▼

Scanned PDFs contain images rather than text layers, so standard extraction fails. Convert pages to images with pdf2image and run OCR with pytesseract to produce searchable text.

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 markup tags inside Paragraph objects instead.