PDFium Delphi Component Docs

AttachmentName Свойство

Компонент: TPdf  ·  Модуль: PDFium
Возвращает имя файла в Unicode, зарегистрированное для встроенного файла по заданному индексу с нуля в дереве имён EmbeddedFiles документа

Syntax

property AttachmentName[Index: Integer]: WString; // read only

Description

Каждое файловое вложение PDF носит ассоциированное имя файла в словаре файловой спецификации — обычно это исходное имя с диска автора (например contract.docx или source-data.csv). AttachmentName отдаёт это имя как WString, чтобы его можно было показать в UI, предложить как путь сохранения или разобрать по расширению

Возвращаемая строка декодируется из UTF-16BE или PDFDocEncoding, поэтому не-ASCII имена (китайские, кириллические, латиница с диакритикой) проходят туда-обратно без искажений. Если автор оставил только key-запись без явного имени /F или /UF, возвращается пустая строка

Свойство только для чтения. Переименование вложения этот API не даёт; если имя файла нужно изменить, удалите слот через DeleteAttachment, пересоздайте его через CreateAttachment и заново присвойте байты через Attachment

Parameters

IndexInteger. Позиция вложения с нуля. Должна быть в [0, AttachmentCount - 1]. Индекс вне диапазона возвращает пустую строку

Remarks

Example

var
  I: Integer;
  FileName: string;
begin
  Pdf1.LoadFromFile('package.pdf');
  ListBox1.Items.BeginUpdate;
  try
    ListBox1.Items.Clear;
    for I := 0 to Pdf1.AttachmentCount - 1 do
    begin
      FileName := Pdf1.AttachmentName[I];
      if FileName = '' then
        FileName := Format('(unnamed #%d)', [I]);
      ListBox1.Items.AddObject(FileName, TObject(I));
    end;
  finally
    ListBox1.Items.EndUpdate;
  end;
end;

See Also

Attachment, AttachmentCount, AttachmentType, CreateAttachment, DeleteAttachment