AddFacturXAssociatedFileFromString
Propriedades do documento
Descrição
Escreve XML de fatura eletrónica como ficheiro associado PDF/A-3 e gera os metadados XMP de fatura eletrónica 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
| XMLBytes | Os bytes XML UTF-8 em bruto a incorporar |
|---|---|
| ConformanceLevel | O nível do perfil da fatura, como MINIMUM, BASIC WL, BASIC, EN16931, EXTENDED, XRECHNUNG, EXTENDED-CTC-FR ou EXTENDED-B2B-FR |
| FileName | O nome do ficheiro XML incorporado, normalmente factur-x.xml, xrechnung.xml, zugferd-invoice.xml ou ZUGFeRD-invoice.xml; um valor vazio utiliza por predefinição factur-x.xml |
| Description | O texto /Desc opcional escrito na especificação de ficheiro |
| Relationship | O valor /AFRelationship; um valor vazio utiliza Alternative como predefinição |
| Version | A versão do perfil da fatura; um valor vazio utiliza 1.0 por predefinição |
| CountryCode | Um código opcional de perfil de país, como uma cadeia vazia, DE ou FR |
Valores devolvidos
| 0 | O documento não está num modo PDF/A-3, a combinação XML ou de perfil é inválida, ou o XML da fatura já foi adicionado |
|---|---|
| Non-zero | O identificador do objeto da especificação de ficheiro recém-criada |
Observações
O método valida o nome do ficheiro, o nível de conformidade, a versão, o perfil de país e /AFRelationship antes de escrever o anexo
COMFORT só é aceite com ZUGFeRD-invoice.xml e a versão 1.0; zugferd-invoice.xml seleciona o perfil ZUGFeRD 2.0 e xrechnung.xml seleciona o perfil XRECHNUNG
O método escreve os campos XMP DocumentFileName, DocumentType, Version e ConformanceLevel e verifica se o ID da diretriz XML corresponde ao perfil selecionado. O conteúdo normal visível da página da fatura continua a ser criado pelo chamador antes da gravação
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;
Consulte também
AddPDFA3AssociatedFileFromString, DetectFacturXInvoice, ValidateFacturXInvoice, ExtractFacturXXMLToString