Long-term archiving · Ruby
Create PDF/A in Ruby
Generate archival-grade PDF/A from Ruby 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 Ruby needs this
Prawn generates beautiful PDFs but has no PDF/A, no digital signatures, no AES-256 and no PDF/UA, so the regulated features have simply been missing from Ruby.
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 Ruby with rust-pdf
Install the package, then call the same idiomatic API every rust-pdf binding shares. The snippet below is real Ruby code from the reference docs.
doc = RustPdf::Document.new
doc.pdfa(RustPdf::Pdfa::A2B).info(title: "Q3 Report", author: "Acme Inc.")
f = doc.add_font_file("Roboto-Regular.ttf")
doc.add_page.show_text(f, 20, 72, 760, "Archival report")
doc.save("report_pdfa.pdf") # raises RustPdf::Error without a license granting PDF/A
doc.close
Ruby basic generation is free. PDF/A is a corporate feature, unlocked by one offline license token. See pricing & licensing.
Full Ruby reference in the documentation.
PDF/A in Ruby: FAQ
Which PDF/A levels are supported in Ruby?
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 Ruby?
PDF/A is a corporate feature and requires an active license token. Basic generation in Ruby is free. One offline token unlocks PDF/A in every supported language.
Create PDF/A in Ruby (Archival PDF)
One Rust core, the same output across every language. Prototype for free, license the corporate features when you ship.