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
| XMLBytes | Los bytes XML UTF-8 sin procesar que se incrustarán |
|---|---|
| ConformanceLevel | El nivel de perfil de factura, como MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED, XRECHNUNG, EXTENDED-CTC-FR o EXTENDED-B2B-FR |
| FileName | El 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 |
| Description | El texto /Desc opcional escrito en la especificación de archivo |
| Relationship | El valor de /AFRelationship; un valor vacío usa de forma predeterminada Alternative |
| Version | La versión del perfil de factura; un valor vacío usa de forma predeterminada 1.0 |
| CountryCode | Un código de perfil de país opcional, como una cadena vacía, DE o FR |
Valores devueltos
| 0 | El 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-zero | El 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