pdf

Read, create, fill, merge, and split PDF documents with visual verification.

2|1|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/atlasgroupcz/codexis-marketplace --skill pdf-atlasgroupcz
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: pdf
Source: https://github.com/atlasgroupcz/codexis-marketplace/tree/main/plugins/documents/skills/pdf
Command: npx skills add https://github.com/atlasgroupcz/codexis-marketplace --skill pdf-atlasgroupcz

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pdf-lib, qpdf, poppler, libreoffice.

What problem does it solve? Working with PDFs often fails silently: text extraction misses stamps, signatures, and struck-through clauses, while form filling and merging produce broken output that looks fine in code. This Skill combines text extraction with page-image inspection so scanned contracts, judgments, and invoices are read accurately, and every generated or modified PDF is visually verified before delivery. ## Core Features & Use Cases - Visual PDF Reading: Reads per-page markdown alongside page images, with OCR for scanned documents and page-range support for long files. - PDF Creation: Authors documents as .docx and converts to PDF via LibreOffice for proper typography, headers, and tables of contents. - Page Operations & Forms: Merges, splits, rotates, decrypts, and fills PDF forms using pdf-lib and qpdf, with mandatory render-and-check verification. - Use Case: Read a scanned court judgment including its stamps and signatures, then merge several PDFs into one correctly ordered document and confirm the result page by page. ## Quick Start Ask the assistant to read the attached scanned contract and check the stamps and signatures on every page.

Frequently Asked Questions about pdf

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

FAQPage Schema
How do I read a scanned PDF that has no text layer?▼

Read the PDF directly and the scanned pages come through OCR, giving you per-page markdown next to page images. For long documents pass a page range like 1-5, since one read covers at most 20 pages.

How do I fill a PDF form programmatically?▼

Load the file with pdf-lib, call getForm(), and list all field names first with getFields() before setting values. After filling, call flatten() to bake values in, then render the result and visually check that no text overflowed or landed in the wrong field.

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

Use qpdf: run qpdf --empty --pages a.pdf b.pdf -- merged.pdf to merge, or qpdf input.pdf --pages . 1-5 -- out.pdf to split. The same operations are available in JavaScript through pdf-lib's copyPages API.

Should I extract PDF text or look at page images?▼

Use both, page by page. Text extraction is exact for strings but blind to struck-through clauses, stamps, and merged cells; the image shows layout but is unreliable for long numbers. When they disagree, trust the image for layout and the text for exact strings.

What is the recommended way to create a new PDF document?▼

Author the content as a .docx file and convert it with LibreOffice using soffice --headless --convert-to pdf. This gives real typography, headers, footers, and page numbers; reserve pdf-lib for manipulating existing PDFs rather than layout from scratch.

Why does my filled PDF form look wrong even though the code ran?▼

Field names can be misleading and text often overflows its box while the code reports success. Always render the filled PDF with cdx-render and inspect every page visually before delivering it.