Long-term archiving · PHP

Create PDF/A in PHP

Generate archival-grade PDF/A from PHP with one method call. rust-pdf embeds the sRGB ICC profile, adds the output intent, writes the XMP metadata and document ID, and enforces the rules, so the output validates under veraPDF, the reference validator.

Why PHP needs this

PHP's classic libraries (TCPDF, FPDF) predate modern PDF and have no real PDF/A, no PAdES signatures and no AES-256, while the commercial alternatives are costly.

PDF/A is the version of PDF built to last: every font and color profile is sealed inside the file so it renders identically decades from now. It is mandatory for e-invoicing, public-sector archiving, legal, healthcare and finance. rust-pdf produces and validates PDF/A-1b, 2b, 2a, 3b and 3a.

  • Levels A-1b, A-2b, A-2a, A-3b and A-3a, with the accessible a-levels building a full tagged structure tree.
  • Fonts embedded and subset automatically, ICC profile and output intent added for you.
  • XMP metadata kept in sync with the document info, validated by veraPDF.

Create PDF/A in PHP with rust-pdf

Install the package, then call the same idiomatic API every rust-pdf binding shares. The snippet below is real PHP code from the reference docs.

PHP
use RustPdf\{Document, PdfaLevel};

$doc = new Document();
$doc->pdfa(PdfaLevel::A2b)->setInfo(title: 'Q3 Report', author: 'Acme Inc.');
$f = $doc->addFontFile('Roboto-Regular.ttf');
$doc->addPage()
    ->showText($f, 20, 72, 760, 'Archival report')
    ->save('report_pdfa.pdf');   // throws PdfException without a PDF/A license
Validated by: veraPDFqpdfmutool

PHP basic generation is free. PDF/A is a corporate feature, unlocked by one offline license token. See pricing & licensing.

Full PHP reference in the documentation.

PDF/A in PHP: FAQ

Which PDF/A levels are supported in PHP?

rust-pdf creates PDF/A-1b, 2b, 2a, 3b and 3a. Use a basic b-level for visual fidelity, an a-level for an accessible tagged structure, or a 3-level when you need to embed source files such as an e-invoice XML.

How is conformance verified?

Output is validated with veraPDF, the open-source reference validator for PDF/A, plus qpdf and mutool for structure. The claim is backed by validators, not adjectives.

Do I need a license to create PDF/A in PHP?

PDF/A is a corporate feature and requires an active license token. Basic generation in PHP is free. One offline token unlocks PDF/A in every supported language.

Create PDF/A in PHP (Archival PDF)

One Rust core, the same output across every language. Prototype for free, license the corporate features when you ship.