property Bookmark[const Title: WString]: TBookmark; // read only
La struttura PDF (detta anche document outline o "segnalibri" nei viewer come Acrobat) è un albero gerarchico di voci nominate che l'utente naviga dal pannello laterale. Ogni voce ha un titolo, una destinazione o un'azione opzionale e zero o più figli. PDFium Delphi Component appiattisce l'albero in una sequenza di record TBookmark che conservano l'handle FPDF_BOOKMARK sottostante più titolo, numero di pagina di destinazione, tipo di azione e destinazione dell'azione pre-risolti
La forma di Bookmark indicizzata per stringa esegue una ricerca case-sensitive su tutto l'albero della struttura (in profondità) e restituisce il primo nodo corrispondente. Il record restituito ha Handle = nil e PageNumber = 0 quando non esiste alcuna voce con quel titolo — verifica Handle prima di navigare
Usa Bookmarks per enumerare ogni nodo in ordine di documento, BookmarkChildren per scendere di un livello di annidamento e BookmarkFrom per convertire un handle grezzo (per esempio da un evento di clic lato viewer) di nuovo in un record completo
| Title | WString. Il titolo completo del segnalibro da confrontare. Il confronto è case-sensitive ed esatto (nessuna corrispondenza per sottostringa o caratteri jolly). Spazi e punteggiatura del titolo devono essere riprodotti esattamente come memorizzati nella struttura PDF |
Action del record restituito indica come si comporta il segnalibro quando attivato — acGoto salta a ActionPageNumber dentro il documento, acGotoRemote punta a un altro file PDF, acUri apre un URL, acLaunch esegue un file esterno e acUnsupported significa che PDFium non è riuscito a interpretare la destinazione0
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;