ReportBuilder includes the ability to export to PDF/A3 format with further processing to meet the ZUGFeRD specifications.
ZUGFeRD is a primarily German invoice standard although it has been adopted by much of Europe at the time of writing this article. All ZUGFeRD invoices require a valid PDF/A3 format PDF with an XML invoice attached to the PDF file with a specific name. Currently this file must be named “ZUGFeRD-invoice.xml”.
See the following web site for the complete specification. http://www.ferd-net.de/
Exporting to ZUGFeRD with ReportBuilder
To export a report to PDF/A3 with ZUGFeRD specifications, the PDFSettings.PDFAFormat property will need to be set to pafPDFA3_ZUGFeRD. This property can be set in the PDFSettings property of the report or it is automatically set when the PDFA3ZUGFeRD device is used. Once the device is assigned, attach the properly named invoice using the PDFSettings.Attachments property. See the code below for an example of this.
Note that all of these properties can be assigned at design-time or from the end-user report designer.
begin
ppReport.AllowPrintToFile := True;
ppReport.ShowPrintDialog := False;
ppReport.DeviceType := 'PDFA3ZUGFeRD';
ppReport.TextFileName := 'C:\Temp\Invoice.pdf';
ppReport.PDFSettings.Attachments.Add('c:\Temp\ZUGFeRD-invoice.xml');
ppReport.Print;
end;
ReportBuilder also attempts to parse the attached XML invoice to gather information and update the PDF file with the appropriate metadata. It is also possible to manually edit this metadata if needed. See the following article on how this can be done. https://rbwiki.digital-metaphors.com/output/pdf/how-to-customize-pdfa-metadata/.