property LinkAnnotationCount[PageNumber: Integer]: Integer;// solo lectura
LinkAnnotationCount devuelve el recuento de entradas de subtipo /Link
en la página identificada por el argumento PageNumber basado en uno (sección
12.5.6.5 de la especificación PDF 1.7). A diferencia de AnnotationCount, que
está restringido a la página activa actualmente y cuenta todos los subtipos de anotación,
esta propiedad indexada se dirige a cualquier página directamente y filtra únicamente las
anotaciones de enlace — las entradas que envuelven una región clicable alrededor de
texto o gráficos y que apuntan a un destino, URI, acción de lanzamiento o acción con nombre.
Pase PageNumber en el rango 1 .. PageCount. El valor es
0 cuando Active es False, cuando el índice de página
no es válido o cuando la página simplemente no contiene anotaciones de enlace. PDFium Delphi Component
también expone por separado las URL web “autodetectadas” mediante
WebLinkCount — proceden del escaneo de patrones de texto y no forman
parte de LinkAnnotationCount.
Use LinkAnnotation[PageNumber, Index] con índices desde 0
hasta LinkAnnotationCount[PageNumber] - 1 para obtener un registro
TLinkAnnotation — rectángulo delimitador, número de página destino,
tipo de acción, puntos cuadriláteros para enlaces multilínea y la carga de acción resuelta.
Cargar los metadatos de enlace es O(n) por página; guarde en caché al iterar muchas
páginas.
Index basado en cero de la mayoría de
los indexadores estilo array.WebLinkCount al implementar una superposición unificada de
“zonas calientes clicables” en un visor personalizado.0 en lugar de lanzar una excepción
— seguro de usar dentro de sondeos con hilos sin envolver en try/except.
var P, I: Integer;
var Link: TLinkAnnotation;
for P := 1 to Pdf1.PageCount do
for I := 0 to Pdf1.LinkAnnotationCount[P] - 1 do
begin
Link := Pdf1.LinkAnnotation[P, I];
Memo1.Lines.Add(Format('p%d link → page %d', [P, Link.PageNumber]));
end;