AddFacturXAssociatedFileFromString

Propriétés du document

Description

Écrit le XML de facture électronique comme fichier associé PDF/A-3 et génère les métadonnées XMP requises pour les profils Factur-X, ZUGFeRD et XRechnung

Syntaxe

Delphi

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

Paramètres

XMLBytesOctets XML UTF-8 bruts à incorporer
ConformanceLevelNiveau du profil de facture, tel que MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED, XRECHNUNG, EXTENDED-CTC-FR ou EXTENDED-B2B-FR
FileNameNom du fichier XML incorporé, généralement factur-x.xml, xrechnung.xml, zugferd-invoice.xml ou ZUGFeRD-invoice.xml ; une valeur vide utilise par défaut factur-x.xml
DescriptionTexte facultatif /Desc écrit dans la spécification de fichier
RelationshipLa valeur /AFRelationship ; une valeur vide utilise par défaut Alternative
VersionVersion du profil de facture ; une valeur vide prend 1.0 par défaut
CountryCodeUn code facultatif de profil de pays, tel qu'une chaîne vide, DE ou FR

Valeurs de retour

0Le document n'est pas dans un mode PDF/A-3, la combinaison de XML et de profil n'est pas valide, ou le XML de facture a déjà été ajouté
Non-zeroDescripteur d’objet de la spécification de fichier nouvellement créée

Remarques

La méthode valide le nom de fichier, le niveau de conformité, la version, le profil de pays et /AFRelationship avant d'écrire la pièce jointe

COMFORT n’est accepté qu’avec ZUGFeRD-invoice.xml et la version 1.0 ; zugferd-invoice.xml sélectionne le profil ZUGFeRD 2.0 et xrechnung.xml le profil XRECHNUNG

La méthode écrit les champs XMP DocumentFileName, DocumentType, Version et ConformanceLevel, puis vérifie que l’ID de directive XML correspond au profil sélectionné. Le contenu visible normal de la page de facture reste créé par l’appelant avant l’enregistrement

Exemple

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

Voir aussi

AddPDFA3AssociatedFileFromString, DetectFacturXInvoice, ValidateFacturXInvoice, ExtractFacturXXMLToString