PDF/A output
PDF/A is the ISO standard for archival PDF - documents that must still open identically in decades. Papyra’s PDF renderer produces PDF/A by default; it is not an add-on mode.
Choosing the standard
Section titled “Choosing the standard”byte[] pdf = document.RenderAsPdf(new PdfRenderOptions { Standard = PdfStandard.PdfA3 });| Standard | PDF version | Use when |
|---|---|---|
PdfA2 (default) |
PDF 1.7 | General archival - the safe default |
PdfA3 |
PDF 1.7 | You need file attachments (e.g. ZUGFeRD/Factur-X e-invoices) |
PdfA4 |
PDF 2.0 | The newest revision, for workflows that require PDF 2.0 |
Pdf20 |
PDF 2.0 | Plain, non-archival PDF - required for encryption, which PDF/A forbids |
Pdf20 opts out of PDF/A entirely: no XMP metadata packet, output intent, or embedded ICC profile is written (fonts are still embedded, and metadata lives in the Info dictionary).
Papyra targets conformance level b (visual reproducibility) for A-2 and A-3.
What Papyra does to conform
Section titled “What Papyra does to conform”- Embeds every font used (subsetted, as Type0/CIDFontType2) - PDF/A forbids unembedded fonts
- Embeds an sRGB ICC profile as the output intent
- Writes an XMP metadata packet consistent with the Info dictionary
- Avoids constructs PDF/A forbids (encryption, JavaScript, external references)
Verified, not assumed
Section titled “Verified, not assumed”Papyra’s test suite validates real conformance against veraPDF, the industry-standard open-source PDF/A validator, for every supported standard. If you run the repository tests yourself:
dotnet test --filter Category=PdfA # spins up verapdf/cli via DockerSee also
Section titled “See also”- PDF render options
- E-invoicing - attachments and ZUGFeRD/Factur-X on top of PDF/A-3
- Fonts - embedding and subsetting details
- Document metadata - the XMP side
© 2026 Stefan Nikolei. Payments are processed by Paddle.com as merchant of record.