PDFium Delphi Component 文件

Bookmark 属性

组件: TPdf  ·  单元: PDFium
按书签标题字符串查找书签,并返回 PDF 第 12.3.3 节定义的文档大纲树中匹配的 TBookmark 记录

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