property Bookmark[const Title: WString]: TBookmark;// solo lectura
El esquema de PDF (también llamado esquema de documento o “marcadores” en visores como Acrobat) es un árbol jerárquico de entradas con nombre que el usuario navega desde el panel lateral. Cada entrada tiene un título, un destino o acción opcional y cero o más hijos. PDFium Delphi Component aplana el árbol en una secuencia de registros TBookmark que conservan el manejador FPDF_BOOKMARK subyacente más el título pre-resuelto, el número de página de destino, el tipo de acción y el destino de la acción
La forma Bookmark indexada por cadena realiza una búsqueda sensible a mayúsculas en todo el árbol de esquema (primero en profundidad) y devuelve el primer nodo coincidente. El registro devuelto tiene Handle = nil y PageNumber = 0 cuando no existe ninguna entrada con ese título; compruebe Handle antes de navegar
Use Bookmarks para enumerar cada nodo en el orden del documento, BookmarkChildren para recorrer un nivel de anidamiento y BookmarkFrom para convertir un manejador sin procesar (por ejemplo, de un evento de clic del lado del visor) de vuelta a un registro rellenado
| Title | WString. El título completo del marcador que se va a buscar. La comparación distingue mayúsculas y es exacta (sin coincidencias de subcadenas ni comodines). Los espacios y la puntuación del título deben reproducirse exactamente como se almacenan en el esquema del PDF |
Action del registro devuelto indica cómo se comporta el marcador al activarse — acGoto salta a ActionPageNumber dentro del documento, acGotoRemote apunta a otro archivo PDF, acUri abre una URL, acLaunch ejecuta un archivo externo y acUnsupported significa que PDFium no pudo interpretar el destino0
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;