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 по умолчанию |
| CountryCode | An 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