Compliance and archival

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.

PRIMARY API JSON Render
ENDPOINT /api/v1/pdf/render
SYSTEMS compliance backend / archive service / ERP export service / document automation service
Job to be done

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

PRIMARY

/api/v1/pdf/render

JSON Render is the default path for this workflow.

SECONDARY 1

/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

  1. Select the PDF/A profile required by your archive or customer.
  2. Run output through your validator and retention acceptance workflow.
  3. Keep PDF/A and security settings in separate render flows unless the public docs add a compatible contract.
  4. Use E-Invoice Render when embedded CII XML is required.
  5. 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.