property Bookmark[const Title: WString]: TBookmark; // read only
El esquema de PDF (también llamado esquema del documento o "marcadores" en visores como Acrobat) es un árbol jerárquico de entradas con nombre que el usuario recorre 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 retienen el identificador FPDF_BOOKMARK subyacente además del título, el número de página de destino, el tipo de acción y el objetivo de la acción ya resueltos
La forma de Bookmark indexada por cadena realiza una búsqueda que distingue mayúsculas de minúsculas en todo el árbol del esquema (primero en profundidad) y devuelve el primer nodo coincidente. El registro devuelto tiene Handle = nil y PageNumber = 0 cuando no existe una entrada con ese título — verifique Handle antes de navegar
Use Bookmarks para enumerar cada nodo en orden de documento, BookmarkChildren para recorrer un nivel de anidamiento y BookmarkFrom para convertir un identificador sin procesar (por ejemplo de un evento de clic del lado del visor) de vuelta en un registro poblado
| Title | WString. El título completo del marcador que se va a buscar. La comparación distingue mayúsculas de minúsculas y es exacta (sin coincidencia de subcadenas ni comodines). Los espacios en blanco y la puntuación del título deben reproducirse exactamente como están almacenados 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;