AddFacturXAssociatedFileFromString

Propiedades del documento

Descripción

Escribe XML de factura electrónica como archivo asociado PDF/A-3 y genera los metadatos XMP de factura electrónica requeridos para los perfiles Factur-X, ZUGFeRD y XRechnung

Sintaxis

Delphi

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

Parámetros

XMLBytesLos bytes XML UTF-8 sin procesar que se incrustarán
ConformanceLevelEl nivel de perfil de factura, como MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED, XRECHNUNG, EXTENDED-CTC-FR o EXTENDED-B2B-FR
FileNameEl nombre de archivo XML incrustado, normalmente factur-x.xml, xrechnung.xml, zugferd-invoice.xml o ZUGFeRD-invoice.xml; un valor vacío toma de forma predeterminada factur-x.xml
DescriptionEl texto /Desc opcional escrito en la especificación de archivo
RelationshipEl valor de /AFRelationship; un valor vacío usa de forma predeterminada Alternative
VersionLa versión del perfil de factura; un valor vacío usa de forma predeterminada 1.0
CountryCodeUn código de perfil de país opcional, como una cadena vacía, DE o FR

Valores devueltos

0El documento no está en modo PDF/A-3, la combinación de XML y perfil no es válida o ya se agregó XML de factura
Non-zeroEl identificador de objeto de la especificación de archivo recién creada

Observaciones

El método valida el nombre de archivo, el nivel de conformidad, la versión, el perfil de país y /AFRelationship antes de escribir el adjunto

COMFORT se acepta solo con ZUGFeRD-invoice.xml y la versión 1.0; zugferd-invoice.xml selecciona el perfil ZUGFeRD 2.0 y xrechnung.xml selecciona el perfil XRECHNUNG

El método escribe los campos XMP DocumentFileName, DocumentType, Version y ConformanceLevel, y comprueba que el ID de la directriz XML coincida con el perfil seleccionado. El contenido normal visible de la página de factura sigue siendo creado por quien llama antes de guardar

Ejemplo

// 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;

Véase también

AddPDFA3AssociatedFileFromString, DetectFacturXInvoice, ValidateFacturXInvoice, ExtractFacturXXMLToString