PDFium Delphi Component Docs

AttachmentName プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium
文書 EmbeddedFiles name tree の指定した 0 基準インデックスにある埋め込みファイルに登録された Unicode file name を返します

Syntax

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

Description

PDF のファイル添付はどれも、file specification 辞書に関連するファイル名を持ちます。多くは作成者のディスク上にあった元のファイル名(例: contract.docx や source-data.csv)です。AttachmentName はその名前を WString として公開するので、UI への表示、保存先パスの候補、拡張子による振り分けに使えます

返される文字列は PDF の UTF-16BE または PDFDocEncoding からデコードされるため、ASCII 外の名前(中国語、キリル文字、アクセント付きラテン文字)も正しく往復します。作成者が /F や /UF の明示的なファイル名を残さずキー entry だけの場合は、空文字列が返ります

このプロパティは読み取り専用です。添付のリネームはこの API では行えません。ファイル名を変えたい場合は、DeleteAttachment で slot を削除し CreateAttachment で作り直したうえで、Attachment 経由でバイトを再代入してください

Parameters

IndexInteger。添付の 0 基準位置。[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