AddFacturXAssociatedFileFromString

Propriedades do documento

Descrição

Grava o XML de e-invoice como arquivo associado PDF/A-3 e gera os metadados XMP de e-invoice necessários para os perfis Factur-X, ZUGFeRD e XRechnung

Sintaxe

Delphi

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

Parâmetros

XMLBytesOs bytes XML UTF-8 brutos a embutir
ConformanceLevelO nível do perfil da fatura, como MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED, XRECHNUNG, EXTENDED-CTC-FR ou EXTENDED-B2B-FR
FileNameO nome do arquivo XML embutido, normalmente factur-x.xml, xrechnung.xml, zugferd-invoice.xml ou ZUGFeRD-invoice.xml; um valor vazio usa o padrão factur-x.xml
DescriptionO texto /Desc opcional gravado na especificação de arquivo
RelationshipO valor de /AFRelationship; um valor vazio usa o padrão Alternative
VersionA versão do perfil da fatura; um valor vazio usa o padrão 1.0
CountryCodeAn optional country profile code, such as an empty string, DE, or FR

Valores retornados

0O documento não está em um modo PDF/A-3, a combinação de XML ou perfil é inválida, ou o XML da fatura já foi adicionado
Non-zeroO handle de objeto da especificação de arquivo recém-criada

Observações

O método valida o nome do arquivo, o nível de conformidade, a versão, o perfil de país e o /AFRelationship antes de gravar o anexo

COMFORT só é aceito com ZUGFeRD-invoice.xml e versão 1.0; zugferd-invoice.xml seleciona o perfil ZUGFeRD 2.0, e xrechnung.xml seleciona o perfil XRECHNUNG

O método grava os campos XMP DocumentFileName, DocumentType, Version e ConformanceLevel e verifica se o ID da diretriz XML corresponde ao perfil selecionado O conteúdo visível normal da página de fatura ainda é criado pelo chamador antes de salvar

Exemplo

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

Veja também

AddPDFA3AssociatedFileFromString, DetectFacturXInvoice, ValidateFacturXInvoice, ExtractFacturXXMLToString