property AnnotationCount: Integer; // read only
AnnotationCount restituisce la lunghezza dell'array /Annots
della pagina corrente (specifica PDF 1.7 sezione 12.5). Vengono contati tutti i sottotipi di annotazione — note
di testo, evidenziazioni, sottolineature, free-text, ink, timbri, forme poligonali e polilineari,
annotazioni di collegamento, finestre di dialogo popup e annotazioni widget di modulo. Combina i valori di
ogni pagina per ottenere il totale delle annotazioni dell'intero documento
La proprietà richiede che Active sia True e legge dalla
pagina indicata da PageNumber. Quando la pagina non ha annotazioni o il
documento non è caricato, il valore è 0. Usa Annotation[Index]
con indici da 0 a AnnotationCount - 1 per recuperare un
record TPdfAnnotation che descrive il sottotipo, il rettangolo di delimitazione, il colore,
la maschera di bit dei flag e il testo dei contenuti di ciascuna voce
L'iterazione delle annotazioni è O(n) ma ogni chiamata a Annotation[Index]
apre un fresh handle PDFium e decodifica i contenuti Unicode on demand; memorizza in cache il risultato
se ti serve più volte. La modifica delle annotazioni di una pagina (inserimenti,
eliminazioni) invalida gli indici — riavvia il ciclo o rileggi AnnotationCount
dopo la modifica
FormFieldCount se vuoi solo i widget di campoLinkAnnotationCount[PageNumber],
che filtra per il sottotipo /Link su qualsiasi pagina direttamente
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;