PDFium Delphi Component 文件

Bookmark 屬性

元件: TPdf  ·  單元: PDFium
依書籤標題字串查找書籤,並從 PDF 第 12.3.3 節所定義的文件大綱樹中傳回相符的 TBookmark record

Syntax

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

Description

PDF 大綱(在 Acrobat 等檢視器中也稱為文件大綱或「書籤」)是具名項目組成的階層樹,使用者可從側邊面板導覽。每個項目都有標題、選用的目的地或動作,以及零或多個子項。PDFium Delphi Component 會將該樹扁平化為一連串 TBookmark 記錄,這些記錄保留了底層的 FPDF_BOOKMARK 控制代碼,以及預先解析的標題、目標頁碼、動作類型與動作目標

字串索引的 Bookmark 形式會在整個大綱樹中執行區分大小寫的搜尋(深度優先),並傳回第一個相符的節點。當不存在該標題的項目時,傳回的記錄會是 Handle = nil 且 PageNumber = 0 — 導覽前請先檢查 Handle

使用 Bookmarks 依文件順序列舉每個節點、BookmarkChildren 走訪一層巢狀,以及 BookmarkFrom 將原始控制代碼(例如來自檢視器端的點選事件)轉換回已填入的記錄

Parameters

TitleWString。要比對的完整書籤標題。比較為區分大小寫且完全相符(不支援子字串或萬用字元比對)。標題中的空白與標點必須與 PDF 大綱中儲存的內容完全一致

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