PDF/A API for archival PDF generation
Generate PDF/A output from JSON Render requests for archival workflows, with clear boundaries between PDF/A profiles and e-invoice packaging.
/api/v1/pdf/render Generate PDF/A-profile output from structured document requests when a business workflow needs archival-friendly PDFs, while choosing E-Invoice Render only when embedded XML invoice packaging is required.
When to use this API
- Your workflow needs a PDF/A profile selected in render settings.
- You need archival invoice, statement, report, or document output.
- You want a general PDF/A page that is broader than PDF/A-3b e-invoice packaging.
- You can validate the produced file with your own archival acceptance workflow.
What it does not replace
- You need Factur-X or ZUGFeRD with embedded EN 16931 CII XML. Use E-Invoice Render.
- You need a validator-only workflow. Use the validator pages for validation context.
- You need encrypted output and PDF/A in the same request. The public Render API treats security settings and PDF/A profile settings as mutually exclusive.
Which endpoint to call
/api/v1/pdf/render
JSON Render is the default path for this workflow.
/api/v1/e-invoice/render
Use this when the workflow needs the related API path, template contract, or capabilities lookup.
Minimal request
POST /api/v1/pdf/render - ordinary PDF/A output setting.
{
"settings": {
"profile": "pdfa-2b"
},
"pages": [
{
"size": "a4",
"elements": [
{
"type": "text",
"x": 20,
"y": 24,
"content": "Archive-ready document",
"style": { "font_size": 16, "font_family": "NotoSans-Regular" }
}
]
}
]
}
What gPdf handles
- PDF/A profile settings on JSON Render requests.
- Document rendering with text, tables, images, barcodes, metadata, and profile output.
- PDF/A-3b e-invoice packaging only through the E-Invoice Render path.
- Binary PDF response with shared error behavior.
What your system owns
- Archival policy, profile selection, validation workflow, retention, and legal acceptance.
- Document semantics, business data, and any required external evidence.
- Storage, access control, and future migration policy.
Production checklist
- Select the PDF/A profile required by your archive or customer.
- Run output through your validator and retention acceptance workflow.
- Keep PDF/A and security settings in separate render flows unless the public docs add a compatible contract.
- Use E-Invoice Render when embedded CII XML is required.
- Store the source data or returned PDF according to retention policy.
Claim boundaries
- PDF/A output is not the same as legal e-invoice packaging.
- gPdf does not replace your archival acceptance or validator workflow.
- Your system owns retention and compliance interpretation.
PDF/A is a profile choice
For ordinary archival documents, PDF/A is selected through render settings. This keeps the workflow close to JSON Render: your system describes the document and sets the profile it needs.
E-invoice packaging is different. When the document needs Factur-X or ZUGFeRD with embedded CII XML, use the E-Invoice Render endpoint.
FAQ
- Which endpoint should I use for general PDF/A output?
- Use POST /api/v1/pdf/render with the appropriate settings.profile value for ordinary PDF/A output.
- When do I need E-Invoice Render?
- Use E-Invoice Render when the document must be a Factur-X or ZUGFeRD PDF/A-3b package with embedded CII XML.
- Does gPdf validate archival acceptance?
- No. gPdf renders PDF/A output. Your system should validate output against the archive or customer acceptance policy.
- Can PDF/A be combined with security settings?
- Not in the current public Render API. settings.profile and settings.security are mutually exclusive and invalid combinations fail validation.