PDFium Delphi Component Docs

Bookmark Свойство

Компонент: TPdf  ·  Модуль: PDFium
Ищет закладку по строке её названия и возвращает соответствующую запись TBookmark из дерева структуры документа, определённого в разделе 12.3.3 PDF

Syntax

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

Description

Очертания PDF (outline — в ридерах вроде Acrobat их называют "закладками") — это иерархическое дерево именованных записей, по которому пользователь ходит из боковой панели. У каждой записи есть заголовок, опциональное назначение или действие и ноль или более детей. PDFium Delphi Component выравнивает это дерево в последовательность записей TBookmark, сохраняющих исходный дескриптор FPDF_BOOKMARK плюс заранее разрешённые заголовок, номер целевой страницы, тип действия и цель действия

Форма с индексом-строкой Bookmark выполняет поиск с учётом регистра по всему дереву outline (в глубину) и возвращает первый совпавший узел. Если записи с таким заголовком нет, у возвращённой записи Handle = nil и PageNumber = 0 — перед переходом проверяйте Handle

Используйте Bookmarks, чтобы перечислить все узлы в порядке документа, BookmarkChildren — для обхода одного уровня вложенности, а BookmarkFrom — чтобы превратить сырой дескриптор (например, из события клика на стороне просмотрщика) обратно в заполненную запись

Parameters

TitleWString. Полный заголовок закладки для сопоставления. Сравнение чувствительно к регистру и точное (без поиска подстрокой и wildcards). Пробелы и пунктуация в заголовке должны воспроизводиться в точности так, как они сохранены в outline 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