SetEmbeddedFileAFRelationshipA

PDF/UA & Acessibilidade

Descrição

O sufixo A indica o ponto de entrada ANSI (char) da DLL; a superfície ActiveX/COM expõe apenas a forma Unicode. O comportamento é idêntico ao de SetEmbeddedFileAFRelationship e os argumentos de string são interpretados usando a página de código atual definida por SetAnsiMode

Define a chave AFRelationship no dicionário de file specification de um arquivo embutido. Exigido pela ISO 14289-1 (PDF/UA-1) §7.11 quando arquivos embutidos estão presentes em um documento PDF acessível.

Sintaxe

Delphi

Function DLSetEmbeddedFileAFRelationshipA(InstanceID, Index: Integer; AFRelationship: PAnsiChar): Integer;

DLL

int DLSetEmbeddedFileAFRelationshipA(int InstanceID, int Index, const char * AFRelationship);

Parâmetros

IndexÍndice do arquivo embutido com base zero. Intervalo válido: 0 a EmbeddedFileCount - 1.
AFRelationshipO relacionamento do arquivo embutido com o documento. Deve ser um dos seguintes valores (diferenciam maiúsculas de minúsculas):

Source — o arquivo embutido é o arquivo de origem usado para criar o documento
Data — o arquivo embutido contém dados usados pelo documento
Alternative — o arquivo embutido é uma representação alternativa do conteúdo do documento
Supplement — o arquivo embutido é suplementar ao documento
Unspecified — o relacionamento não é especificado (padrão quando SetPDFUAMode está ativo)

Valor de retorno

Retorna 1 em caso de sucesso. Retorna 0 se o índice estiver fora do intervalo, se o valor de AFRelationship não for um dos cinco valores válidos, ou se nenhum documento estiver aberto.

Observações

Quando SetPDFUAMode está ativo, o PDF Library for Delphi define AFRelationship como Unspecified automaticamente para qualquer arquivo embutido que ainda não tenha a chave. Use SetEmbeddedFileAFRelationship antes de salvar para sobrepôr esse padrão com um valor de relacionamento mais específico.

Chame esta função depois de adicionar o arquivo embutido e antes de gravar o documento

Exemplo

// PDF/A-3 archive that embeds an XLSX as the document's source data
var
  FileID: Integer;
begin
  PDF.SetPDFAMode(5);              // PDF/A-3b — allows arbitrary embedded files
  PDF.NewDocument;
  PDF.AddStandardFont('Helvetica');
  PDF.AddPage;
  PDF.PrintText(50, 750, 'Quarterly Sales Report');

  FileID := PDF.AddEmbeddedFile(
    'sales-Q1.xlsx',
    'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
  PDF.AddFileAttachment('Source spreadsheet', FileID);

  // Mark the relationship: the spreadsheet is the source of the report
  PDF.SetEmbeddedFileAFRelationship(1, 'Source');

  PDF.SaveToFile('report-PDFA3b.pdf');
end;

Veja também

SetPDFUAMode, SetPDFAMode, AddFileAttachment, AddEmbeddedFile, EmbedFile, SetEmbeddedFileStrProperty