← Back to Open-Source PDF Software

Open-Source PDF Software Capable of Validating PDF Standards Compliance

Validate against a PDF standard (PDF/A, PDF/UA, PDF/X, etc.)

16 tools

Java

Apache PDFBox

CliLibrary

Java library and CLI toolset covering PDF creation from scratch (with embedded fonts and images), Unicode text extraction, splitting and merging, form field extraction and filling, PDF/A-1b validation via its Preflight module, rendering pages to PNG/JPEG, printing via the Java printing API, and digital signing. The de facto standard Java PDF library, used as the underlying engine behind numerous other tools in this directory (PDFsam, PDFLayoutTextStripper, PdfBox-Android, and more).

Tested
C#

clawPDF

Gui

Open-source virtual (network) printer for Windows that turns any application's Print dialog into a PDF-generation pipeline. Outputs PDF/A-1b/2b/3b, PDF/X, PDF/Image, PNG, JPEG, TIFF, and plain text; runs OCR on the printed content; and password-protects output with up to 256-bit AES encryption. Built with multi-user and enterprise deployment scenarios in mind, including centrally managed print-queue configurations across a network.

Stale
C

Ghostscript

CliLibrary

PostScript and PDF interpreter/renderer from Artifex — the reference engine that many other PDF tools build on or shell out to under the hood. Converts PostScript and PDF to raster images, plain text, DOCX, PCL, and XPS; compresses PDFs while preserving visual quality; converts to and validates against the PDF/A archival standard; and adds a searchable OCR text layer to scanned pages. Also handles imposition (N-up page layout), ICC color management, and ZUGFeRD/Factur-X e-invoicing embedding.

Tested
Java

iText

Library

Create and manipulate PDFs, merge documents, digitally sign, create and fill AcroForm fields, generate PDF/A and PDF/UA archival/accessible output, encrypt (including FIPS-compliant crypto), generate barcodes, embed SVG, and redact content — the core feature set of the modern, actively-developed iText line. Separate official add-ons extend it further: pdfOCR (Tesseract- or ONNX-based optical character recognition) and pdfHTML (HTML/CSS-to-PDF conversion), both maintained by the same organization rather than third-party plugins.

Java

itextpdf

Library

Legacy iText 5: core PDF creation/manipulation library (receiving security fixes only), with add-on modules for PDF 2.0 features (itext-xtra), PDF/A generation/validation (itext-pdfa), and XML/HTML-to-PDF conversion (xmlworker). Also reads existing PDFs via `PdfTextExtractor`. Targets Java 5 compatibility, which blocks upgrading some vulnerable dependencies.

Tested
Depreciated
PHP

Laravel Dompdf

Library

Laravel wrapper around Dompdf: converts HTML strings, files, or Blade views to PDF with paper size/orientation, DPI, fonts, CSS page breaks, and UTF-8 support; generates PDF/A-3b compliant output with embedded files and XMP metadata (for Zugferd/Factur-X e-invoicing); toggles JS/remote-content/PHP execution; outputs to disk, browser stream, download, or string.

C

libharu

Library

ANSI C library for generating PDF documents entirely from scratch (no PDF import or editing) — a common embedded choice for C/C++ applications that need to produce reports or documents without shelling out to an external process. Draws lines, text, and images (PNG/JPEG, with CMYK, alpha-channel, and CCITT fax support), embeds Type1/TrueType/CJK fonts, and adds outlines plus text and link annotations. Supports document encryption, Deflate stream compression, and PDF/A-1b archival-compliant output.

Python

OCRmyPDF

CliDriverLibrary

Adds a searchable OCR text layer beneath page images and produces a validated PDF/A file: deskews crooked pages, optionally cleans images pre-OCR, optimizes/compresses images, recognizes 100+ languages via Tesseract, rotates misrotated pages, edits output metadata, parallelizes across CPU cores, and processes multi-thousand-page files in place.

Tested
Java

Open HTML to PDF

Library

Renders a practical subset of XML/XHTML/HTML5 with CSS 2.1+ (incl. CSS3 transforms, gradients, multiple backgrounds) to PDF or images, with SVG and MathML plugin support, accessible/tagged PDF output (Section 508, PDF/UA, WCAG 2.0), PDF/A compliance, font fallback and embedding, RTL/bidi text, footnotes, and file embedding via link download attributes.

Stale
Go

pdfcpu

CliLibrary

Go PDF processor (CLI + library) supporting PDF up to 2.0 (ISO 32000-2): validate, optimize, split, trim, and merge PDFs; encrypt/decrypt; resize, rotate, and crop pages; extract/manipulate images, fonts, and metadata; manage attachments and portfolios; validate, report, and remove digital signatures; add/remove stamps and watermarks; process forms, bookmarks, and annotations; and generate booklets, N-up/N-down layouts, grids, and posters.

Tested
C#

PDFCreator

Gui

Source code of the well-known PDFCreator from pdfforge, a free virtual-printer application: install it once and any application's own Print dialog can output directly to PDF. Supports merging and reordering pages, password and digital-signature protection, PDF/A archival compliance, custom cover pages, and automated post-processing actions (FTP upload, email delivery, custom scripting) triggered on every conversion. Widely used as a default 'print to PDF' tool on Windows.

C++

podofo

Library

C++17 library for reading, writing, and modifying PDFs: full-featured low-level Unicode text extraction (with CJK support), text drawing with automatic CID encoding and font subsetting, incremental-update saving, PAdES-B digital signing (RSA/ECDSA, async), and PDF/A and PDF/UA compliance preservation when adding annotations or form fields. Does not yet render PDF content, and text shaping/kerning is limited.

Tested
C#

QuestPDF

Library

Fluent-API PDF generation library for .NET: page layout, headers/footers, tables, columns, sections, watermarks, text/fonts/colors/backgrounds/borders, images, SVG, alignment/padding/scaling/rotation/layering, loops/conditionals/reusable components for data-driven documents, merging, encryption, metadata, page extraction, and PDF/A, PDF/UA, and EN 16931 (e-invoicing) compliance.

C++

Scribus

Gui

Free, open-source desktop publishing (DTP) application for laying out newspapers, brochures, newsletters, posters, and books, with professional-grade PDF export: PDF/X-3 and PDF/X-4 support, native PDF 1.6 output with embedded OpenType fonts, transparency and encryption, and interactive PDF form fields, annotations, and bookmarks.

PHP

tc-lib-pdf

Library

UTF-8/RTL text with TrueType/OpenType/Type1/CID-0 font support and subsetting; HTML/CSS and SVG rendering with multi-column layouts, headers/footers, bookmarks, and TOC; JPEG/PNG/SVG images (plus GIF/BMP/TIFF/etc. via GD); RC4/AES-256 encryption; PAdES/PKCS#7 digital signatures with RFC 3161 TSA timestamps and LTV; PDF/A, PDF/X, and PDF/UA compliance modes; page import/reordering; AcroForm fields; and companion-package barcode support.

Java

veraPDF

CliLibrary

Industry-backed, open-source validation library and CLI for checking PDF files against the PDF/A and PDF/UA standards, developed by a consortium including the PDF Association and major archives/libraries specifically to be the reference validator for these standards. Produces a detailed machine-readable validation report identifying exactly which conformance rules a file violates, rather than a simple pass/fail result. Widely used in digital-preservation workflows where formal PDF/A compliance is a hard requirement.