PDFium Delphi Component Docs

Método ReadAttachmentMetadata

Componente: TPdf  ·  Unidade: PDFium
Lê os metadados dos anexos incorporados ao nível do documento numa única passagem, sem extrair quaisquer bytes de payload

Syntax

function ReadAttachmentMetadata(MaxAttachments: Integer = 10000): TPdfAttachmentMetadataArray;

MaxAttachmentsInteger. Limite superior de quantas entradas de anexos são capturadas. Tem de ser maior que zero, caso contrário é gerado um EPdfError. O padrão é 10000
ResultTPdfAttachmentMetadataArray. Um record TPdfAttachmentMetadata por anexo: Index, Name, Description, MimeType, Size e Readable

Description

Percorre a árvore EmbeddedFiles do documento carregado numa única passagem nativa e devolve um record TPdfAttachmentMetadata por entrada. Apenas são lidos valores descritivos — os bytes de payload permanecem no ficheiro, por isso listar um documento com muitos anexos grandes não custa memória de payload

O campo Index corresponde ao índice de base zero usado por Attachment, AttachmentName e os outros indexadores de anexos, por isso uma entrada listada pode ser extraída mais tarde através da mesma ranhura

Readable reporta se o lado nativo conseguiu abrir o payload; Size (em bytes, como Int64) só é preenchido para entradas legíveis. As entradas ilegíveis continuam a aparecer no array para que os índices se mantenham alinhados com o documento

A chamada corre sob o lock de renderização e exige que o documento esteja carregado; um MaxAttachments de zero ou menos gera um EPdfError

Remarks

Example

var
  Meta: TPdfAttachmentMetadata;
begin
  Pdf1.LoadFromFile('with-attachments.pdf');
  for Meta in Pdf1.ReadAttachmentMetadata do
    Memo1.Lines.Add(Format('%d: %s (%s, %d bytes, readable=%s)',
      [Meta.Index, Meta.Name, Meta.MimeType, Meta.Size,
        BoolToStr(Meta.Readable, True)]));
end;

See Also

ExtractAttachmentsToStreams, Attachment, AttachmentCount, AttachmentName