AddFacturXAssociatedFileFromString

Właściwości dokumentu

Opis

Zapisuje XML faktury elektronicznej jako plik skojarzony PDF/A-3 i generuje wymagane metadane XMP faktury elektronicznej dla profili Factur-X, ZUGFeRD i XRechnung

Składnia

Delphi

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

Parametry

XMLBytesSurowe bajty XML UTF-8 do osadzenia
ConformanceLevelPoziom profilu faktury, na przykład MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED, XRECHNUNG, EXTENDED-CTC-FR lub EXTENDED-B2B-FR
FileNameNazwa osadzonego pliku XML, zwykle factur-x.xml, xrechnung.xml, zugferd-invoice.xml lub ZUGFeRD-invoice.xml; pusta wartość domyślnie oznacza factur-x.xml
DescriptionOpcjonalny tekst /Desc zapisywany w specyfikacji pliku
RelationshipWartość /AFRelationship; pusta wartość domyślnie oznacza Alternative
VersionWersja profilu faktury; pusta wartość domyślnie oznacza 1.0
CountryCodeOpcjonalny kod profilu kraju, na przykład pusty ciąg, DE lub FR

Wartości zwracane

0Dokument nie działa w trybie PDF/A-3, kombinacja XML i profilu jest nieprawidłowa albo XML faktury został już dodany
Non-zeroUchwyt obiektu nowo utworzonej specyfikacji pliku

Uwagi

Metoda sprawdza nazwę pliku, poziom zgodności, wersję, profil kraju i /AFRelationship przed zapisaniem załącznika

COMFORT jest akceptowane tylko z ZUGFeRD-invoice.xml i wersją 1.0; zugferd-invoice.xml wybiera profil ZUGFeRD 2.0, a xrechnung.xml wybiera profil XRECHNUNG

Metoda zapisuje pola XMP DocumentFileName, DocumentType, Version i ConformanceLevel oraz sprawdza, czy identyfikator wytycznej XML odpowiada wybranemu profilowi. Zwykła widoczna zawartość strony faktury nadal jest tworzona przez kod wywołujący przed zapisem

Przykład

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

Zobacz również

AddPDFA3AssociatedFileFromString, DetectFacturXInvoice, ValidateFacturXInvoice, ExtractFacturXXMLToString