PDFium Delphi Component Docs

Bookmark プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium
title string で bookmark を検索し、PDF section 12.3.3 で定義される document outline tree から一致する TBookmark record を返します

Syntax

property Bookmark[const Title: WString]: TBookmark; // read only

Description

PDF の outline(Acrobat などのビューアーでは document outline または「ブックマーク」と呼ばれます)は、ユーザーがサイドパネルから移動する名前付き entry の階層ツリーです。各 entry は title、省略可能な destination または action、0 個以上の子を持ちます。PDFium Delphi Component はこのツリーを TBookmark レコードの並びへフラット化し、基底の FPDF_BOOKMARK ハンドルに加えて解決済みの title、ターゲットページ番号、action タイプ、action ターゲットを持たせます

文字列インデックス付きの Bookmark は、outline ツリー全体(深さ優先)を大文字小文字を区別して検索し、最初に一致したノードを返します。その title の entry が存在しない場合、返されるレコードは Handle = nil、PageNumber = 0 になります。移動前に Handle を確認してください

ドキュメント順で全ノードを列挙するには Bookmarks、1 階層だけ辿るには BookmarkChildren、生のハンドル(ビューアー側のクリックイベントなど)を値の入ったレコードへ戻すには BookmarkFrom を使います

Parameters

TitleWString。一致させる bookmark の完全な title。比較は大文字小文字を区別する完全一致で、部分一致やワイルドカードは行いません。title 内の空白や記号は PDF outline に格納されたとおり正確に再現する必要があります

Remarks

Example

var
  Bm: TBookmark;
begin
  Pdf1.LoadFromFile('specification.pdf');
  Bm := Pdf1.Bookmark['Chapter 5: Annotations'];
  if Bm.Handle <> nil then
  begin
    case Bm.Action of
      acGoto:     Pdf1.PageNumber := Bm.ActionPageNumber;
      acUri:      ShowMessage('URL bookmark');
      acGotoRemote: ShowMessage('External PDF target');
    end;
  end
  else
    ShowMessage('No bookmark with that title.');
end;

See Also

Bookmarks, BookmarkChildren, BookmarkFrom, HasBookmarkChildren, PageNumber