PDFium Delphi Component Docs

Bookmark Eigenschaft

Komponente: TPdf  ·  Unit: PDFium
Sucht ein Lesezeichen anhand seiner Titelzeichenfolge und gibt den passenden TBookmark-Datensatz aus dem in PDF Abschnitt 12.3.3 definierten Dokumentgliederungsbaum zurück

Syntax

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

Description

Die PDF-Outline (in Viewern wie Acrobat auch Document Outline oder "Lesezeichen" genannt) ist ein hierarchischer Baum benannter Einträge, den der Nutzer über das Seitenpanel navigiert. Jeder Eintrag hat einen Titel, ein optionales Ziel oder eine Aktion sowie beliebig viele Kinder. PDFium Delphi Component glättet den Baum zu einer Folge von TBookmark-Records, die das zugrunde liegende FPDF_BOOKMARK-Handle plus vor-aufgelösten Titel, Zielseitennummer, Aktionstyp und Aktionsziel mitführen

Die string-indizierte Bookmark-Variante durchsucht den gesamten Outline-Baum case-sensitiv (depth-first) und liefert den ersten Treffer. Der zurückgegebene Record hat Handle = nil und PageNumber = 0, wenn es keinen Eintrag mit diesem Titel gibt — prüfen Sie Handle, bevor Sie navigieren

Verwenden Sie Bookmarks, um alle Knoten in Dokumentreihenfolge aufzuzählen, BookmarkChildren, um eine Verschachtelungsebene zu durchlaufen, und BookmarkFrom, um ein rohes Handle (etwa aus einem klick-Event im Viewer) zurück in einen gefüllten Record zu überführen

Parameters

TitleWString. Der vollständige Lesezeichen-Titel, der getroffen werden soll. Der Vergleich ist case-sensitiv und exakt (keine Teilstring- oder Wildcard-Suche). Leer- und Satzzeichen im Titel müssen exakt so reproduziert werden, wie sie in der PDF-Outline gespeichert sind

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