AddFacturXAssociatedFileFromString
Document properties
Description
Schreibt E-Rechnungs-XML als PDF/A-3-zugehörige Datei und generiert die erforderlichen XMP-E-Rechnungs-Metadaten für Factur-X-, ZUGFeRD- und XRechnung-Profile
Syntax
Delphi
Function TPDFlib.AddFacturXAssociatedFileFromString(Const XMLBytes: AnsiString; Const ConformanceLevel, FileName, Description, Relationship, Version, CountryCode: WideString): Integer;
Parameters
| XMLBytes | Die rohen UTF-8-XML-Bytes zum Einbetten |
|---|---|
| ConformanceLevel | Die Rechnungsprofilstufe, wie z. B. MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED, XRECHNUNG, EXTENDED-CTC-FR oder EXTENDED-B2B-FR |
| FileName | Der eingebettete XML-Dateiname, üblicherweise factur-x.xml, xrechnung.xml, zugferd-invoice.xml oder ZUGFeRD-invoice.xml; ein leerer Wert wird standardmäßig auf factur-x.xml gesetzt |
| Description | Der optionale Text /Desc, der in die Dateispezifikation geschrieben wurde |
| Relationship | Der /AFRelationship-Wert; ein leerer Wert wird standardmäßig auf Alternative gesetzt |
| Version | Die Rechnungsprofilversion; ein leerer Wert wird standardmäßig auf 1.0 gesetzt |
| CountryCode | Ein optionaler Länderprofilcode, wie z. B. eine leere Zeichenfolge, DE oder FR |
Return values
| 0 | Das Dokument befindet sich nicht im PDF/A-3-Modus, die XML- oder Profilkombination ist ungültig oder Rechnungs-XML wurde bereits hinzugefügt |
|---|---|
| Non-zero | Das Objekt-Handle der neu erstellten Dateispezifikation |
Remarks
Die Methode validiert den Dateinamen, die Konformitätsstufe, die Version, das Länderprofil und /AFRelationship vor dem Schreiben des Anhangs
COMFORT is accepted only with ZUGFeRD-invoice.xml and version 1.0; zugferd-invoice.xml selects the ZUGFeRD 2.0 profile, and xrechnung.xml selects the XRECHNUNG profile
Die Methode schreibt die XMP-Felder DocumentFileName, DocumentType, Version und ConformanceLevel und prüft, ob die XML-Richtlinien-ID mit dem ausgewählten Profil übereinstimmt. Der normal sichtbare Rechnungsseiteninhalt wird vor dem Speichern weiterhin vom Aufrufer erstellt
Example
// Add EN 16931 invoice XML to a PDF/A-3b document
var
FileID: Integer;
begin
PDF.SetPDFAMode(5);
PDF.NewDocument;
FileID := PDF.AddFacturXAssociatedFileFromString(
InvoiceXML,
'EN16931',
'factur-x.xml',
'Factur-X invoice XML',
'Alternative',
'1.0',
'');
if FileID = 0 then Exit;
PDF.SaveToFile('factur-x.pdf');
end;
See also
AddPDFA3AssociatedFileFromString, DetectFacturXInvoice, ValidateFacturXInvoice, ExtractFacturXXMLToString