convert-to-pdfa

Convert PDFs to validated PDF/A-1b, PDF/A-2b, or PDF/A-3b archival files using Ghostscript.

1|Updated May 8, 2026
One-click install
npx skills add https://github.com/franklinbaldo/skills --skill convert-to-pdfa-franklinbaldo
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: convert-to-pdfa
Source: https://github.com/franklinbaldo/skills/tree/main/convert-to-pdfa
Command: npx skills add https://github.com/franklinbaldo/skills --skill convert-to-pdfa-franklinbaldo

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pymupdf, cyclopts, and includes scripts (resource) components.

What problem does it solve? Courts, government portals, and document-management systems often reject ordinary PDFs and require ISO 19005-compliant PDF/A files. This Skill produces a separate, verified PDF/A copy of any PDF without altering the original, and confirms the result with structural checks or official veraPDF validation. ## Core Features & Use Cases - Standards-aware conversion: Uses Ghostscript to create PDF/A-1b, PDF/A-2b, or PDF/A-3b output with embedded ICC OutputIntent and XMP identifiers, preserving vector text, links, and page geometry. - Cross-platform execution: Runs on Windows (native Ghostscript or automatic WSL fallback), macOS, and Linux, with a documented no-admin extraction route for locked-down Windows machines. - Verification and safety rails: Refuses in-place conversion, checks page count, dimensions, and searchable-text similarity, optionally requires veraPDF compliance, and blocks signed PDFs unless explicitly allowed. - Use Case: A lawyer needs to file a brief with a court system (SEI, PJe) that only accepts PDF/A. The Skill converts the brief to PDF/A-2b, verifies text preservation, and reports whether validation was structural or veraPDF-based. ## Quick Start Use the convert-to-pdfa skill to convert the attached filing.pdf into a validated PDF/A-2b archival copy.

Frequently Asked Questions about convert-to-pdfa

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

FAQPage Schema
How do I convert a PDF to PDF/A for court filing?▼

Run the conversion script with Ghostscript to produce a PDF/A-2b copy beside the original, for example uv run convert_to_pdfa.py input.pdf --part 2. The output preserves searchable text, links, and page geometry, and the original file is never modified.

What is the difference between PDF/A-1b, PDF/A-2b, and PDF/A-3b?▼

PDF/A-1b is the oldest and most restrictive level, while PDF/A-2b supports modern PDF features like transparency and is the recommended default. PDF/A-3b additionally allows embedded file attachments. This workflow supports all three at conformance level b only.

Can I convert PDF to PDF/A on Windows without admin rights?▼

Yes. The official Ghostscript Windows installer is an NSIS package that can be unpacked with 7-Zip without elevation, producing a working gswin64c.exe. Alternatively, the script automatically falls back to Ghostscript installed inside WSL.

Does PDF/A conversion preserve digital signatures?▼

No. Any full rewrite invalidates digital signatures, so the script refuses PDFs containing signature fields unless you pass --allow-signed. Always keep the signed original and treat the PDF/A output as an unsigned archival copy.

Why does veraPDF validation matter for PDF/A files?▼

An XMP identifier is only a claim of conformance, not proof. The official veraPDF CLI performs normative validation, and the script only reports a file as veraPDF compliant when it returns isCompliant="true"; otherwise it reports structural verification only.

When should I use the rasterize fallback for PDF/A conversion?▼

Rasterization is a last resort when strict vector conversion fails due to incompatible source content. It flattens pages to images at the chosen DPI, which removes searchable text, links, accessibility structure, forms, and signature validity.