AddFacturXAssociatedFileFromString

Свойства документа

Описание

Записывает XML электронного счёта как ассоциированный файл PDF/A-3 и генерирует требуемые XMP-метаданные для профилей Factur-X, ZUGFeRD и XRechnung

Синтаксис

Delphi

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

Параметры

XMLBytesСырые XML-байты UTF-8 для встраивания
ConformanceLevelУровень профиля инвойса, например MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED, XRECHNUNG, EXTENDED-CTC-FR или EXTENDED-B2B-FR
FileNameИмя внедренного XML-файла, обычно factur-x.xml, xrechnung.xml, zugferd-invoice.xml или ZUGFeRD-invoice.xml; пустое значение дает factur-x.xml по умолчанию
DescriptionНеобязательный текст /Desc, записываемый в файловую спецификацию
RelationshipЗначение /AFRelationship; пустое значение дает Alternative по умолчанию
VersionВерсия профиля инвойса; пустое значение дает 1.0 по умолчанию
CountryCodeAn optional country profile code, such as an empty string, DE, or FR

Возвращаемые значения

0Документ не в режиме PDF/A-3, комбинация XML или профиля недопустима, либо XML счёта уже добавлен
Non-zeroДескриптор объекта созданной файловой спецификации

Примечания

Метод валидирует имя файла, уровень соответствия, версию, страновой профиль и /AFRelationship до записи вложения

COMFORT принимается только с ZUGFeRD-invoice.xml и версией 1.0; zugferd-invoice.xml выбирает профиль ZUGFeRD 2.0, а xrechnung.xml — профиль XRECHNUNG

Метод записывает поля XMP DocumentFileName, DocumentType, Version и ConformanceLevel и проверяет, что идентификатор директивы XML соответствует выбранному профилю. Обычное видимое содержимое страницы счёта вызывающий код по-прежнему создаёт перед сохранением

Пример

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

См. также

AddPDFA3AssociatedFileFromString, DetectFacturXInvoice, ValidateFacturXInvoice, ExtractFacturXXMLToString