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
| XMLBytes | Surowe bajty XML UTF-8 do osadzenia |
|---|---|
| ConformanceLevel | Poziom profilu faktury, na przykład MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED, XRECHNUNG, EXTENDED-CTC-FR lub EXTENDED-B2B-FR |
| FileName | Nazwa osadzonego pliku XML, zwykle factur-x.xml, xrechnung.xml, zugferd-invoice.xml lub ZUGFeRD-invoice.xml; pusta wartość domyślnie oznacza factur-x.xml |
| Description | Opcjonalny tekst /Desc zapisywany w specyfikacji pliku |
| Relationship | Wartość /AFRelationship; pusta wartość domyślnie oznacza Alternative |
| Version | Wersja profilu faktury; pusta wartość domyślnie oznacza 1.0 |
| CountryCode | Opcjonalny kod profilu kraju, na przykład pusty ciąg, DE lub FR |
Wartości zwracane
| 0 | Dokument nie działa w trybie PDF/A-3, kombinacja XML i profilu jest nieprawidłowa albo XML faktury został już dodany |
|---|---|
| Non-zero | Uchwyt 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