AddFacturXAssociatedFileFromString
文档属性
说明
把电子发票 XML 作为 PDF/A-3 关联文件写入,并为 Factur-X、ZUGFeRD 与 XRechnung profile 生成所需的 XMP 电子发票元数据
语法
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 | 通常为 factur-x.xml、xrechnung.xml、zugferd-invoice.xml 或 ZUGFeRD-invoice.xml,传入空字符串时使用 factur-x.xml |
| Description | 写入 file specification /Desc 的可读说明,可为空 |
| Relationship | /AFRelationship 名称,传入空字符串时使用 Alternative |
| Version | 电子发票配置版本,传入空字符串时使用 1.0 |
| CountryCode | 可选区域配置,支持空字符串、DE 或 FR |
返回值
| 0 | 当前不是 PDF/A-3 模式、XML 或配置无效,或文档已经添加过电子发票 XML |
|---|---|
| Non-zero | 新建 file specification 的对象句柄 |
备注
该方法会在写入附件前校验文件名、conformance level、版本、国家 profile 与 /AFRelationship
COMFORT 仅与 ZUGFeRD-invoice.xml 和版本 1.0 一起接受;zugferd-invoice.xml 选择 ZUGFeRD 2.0 配置文件,xrechnung.xml 选择 XRECHNUNG 配置文件
该方法会写入 DocumentFileName、DocumentType、Version 与 ConformanceLevel XMP 字段,并检查 XML guideline ID 是否与所选 profile 匹配。普通可见发票页面内容仍由调用方在保存前创建
示例
// 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