property AnnotationCount: Integer;// solo lectura
AnnotationCount devuelve la longitud de la matriz /Annots de la página actual (especificación PDF 1.7 sección 12.5). Se cuentan todos los subtipos de anotación — notas de texto, resaltados, subrayados, texto libre, tinta, sellos, formas de polígono y polilínea, anotaciones de enlace, diálogos emergentes y anotaciones de widget de formulario. Combine los valores de cada página para obtener el total de anotaciones de todo el documento
La propiedad requiere que Active sea True y lee de la página indicada por PageNumber. Cuando la página no tiene anotaciones o el documento no está cargado, el valor es 0. Use Annotation[Index] con índices de 0 a AnnotationCount - 1 para recuperar un registro TPdfAnnotation que describe el subtipo, el rectángulo delimitador, el color, la máscara de bits de banderas y el texto de contenido de cada entrada
Iterar las anotaciones es O(n) pero cada llamada a Annotation[Index] abre un manejador PDFium nuevo y decodifica el contenido Unicode bajo demanda; almacene en caché el resultado si lo necesita varias veces. Mutar las anotaciones de una página (inserciones, eliminaciones) invalida los índices — reinicie el bucle o vuelva a leer AnnotationCount después del cambio
FormFieldCount si solo quiere los widgets de campoLinkAnnotationCount[PageNumber], que filtra al subtipo /Link directamente en cualquier página
var I: Integer;
var A: TPdfAnnotation;
for I := 0 to Pdf1.AnnotationCount - 1 do
begin
A := Pdf1.Annotation[I];
Memo1.Lines.Add(Format('%d: subtype=%d text=%s',
[I, Ord(A.Subtype), A.ContentsText]));
end;