property AnnotationCount: Integer; // read only
AnnotationCount devuelve la longitud del arreglo /Annots de la
página actual (sección 12.5 de la especificación PDF 1.7). 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 vínculo, cuadros de diálogo 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 identificador nuevo de PDFium y decodifica el contenido Unicode bajo demanda;
almacene el resultado en caché si lo necesita varias veces. Mutar las anotaciones de una
página (inserciones, eliminaciones) invalida los índices — reinicie el ciclo o vuelva
a leer AnnotationCount después del cambio
FormFieldCount si solo quiere widgets de campoLinkAnnotationCount[PageNumber],
que filtra por el subtipo /Link en cualquier página directamente
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;