Promote a base PDF/A XMP packet into a Factur-X / ZUGFeRD one.
Given the document-level XMP of a valid PDF/A-2 (or already-A-3) file, this:
- bumps
pdfaid:part2 → 3 (conformance level preserved); - declares the Factur-X extension schema in
pdfaExtension:schemas(namespaceurn:factur-x:pdfa:CrossIndustryDocument:invoice:1p0#, prefixfx) — required so veraPDF accepts thefx:*properties; - adds the
fx:*properties (DocumentType,DocumentFileName,Version,ConformanceLevel).
The transformation is idempotent: re-promoting an already-Factur-X XMP is a no-op for the parts that already exist.
Summary
Functions
The fx:ConformanceLevel string for a Factur-X profile.
Promote xmp for the given profile and embedded filename.
Functions
@spec conformance_level(Facturx.profile()) :: String.t()
The fx:ConformanceLevel string for a Factur-X profile.
@spec promote(binary(), Facturx.profile(), String.t()) :: binary()
Promote xmp for the given profile and embedded filename.