AddFacturXAssociatedFileFromString

Document properties

Description

Записва XML на електронна фактура като PDF/A-3 свързан файл и генерира необходимите XMP метаданни за електронна фактура за профили Factur-X, ZUGFeRD и XRechnung

Syntax

Delphi

Function TPDFlib.AddFacturXAssociatedFileFromString(Const XMLBytes: AnsiString; Const ConformanceLevel, FileName, Description, Relationship, Version, CountryCode: WideString): Integer;

Parameters

XMLBytesСуровите UTF-8 XML байтове за вграждане
ConformanceLevelНивото на фактурния профил, като например MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED, XRECHNUNG, EXTENDED-CTC-FR или EXTENDED-B2B-FR
FileNameИмето на вградения XML файл, обикновено factur-x.xml, xrechnung.xml, zugferd-invoice.xml или ZUGFeRD-invoice.xml; празната стойност по подразбиране е factur-x.xml
DescriptionНезадължителният /Desc текст, записан в спецификацията на файла
RelationshipСтойността на /AFRelationship; празната стойност по подразбиране е Alternative
VersionВерсията на фактурния профил; празната стойност по подразбиране е 1.0
CountryCodeНезадължителен код за профил на държава, като например празен низ, DE или FR

Return values

0Документът не е в режим PDF/A-3, комбинацията от XML или профил е невалидна или вече е добавен фактурен XML
Non-zeroДескрипторът на обекта на новосъздадената спецификация на файл

Remarks

Методът валидира името на файла, нивото на съответствие, версията, профила на страната и /AFRelationship преди записване на прикачения файл

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

Методът записва XMP полетата DocumentFileName, DocumentType, Version и ConformanceLevel и проверява дали XML идентификаторът на насоките съвпада с избрания профил; нормалното видимо съдържание на страницата с фактура все още се създава от повикващия преди записването

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