property AnnotationCount: Integer; // read only
AnnotationCount は現在ページの /Annots 配列の長さを返します(PDF 1.7 仕様 12.5 節)。すべての注釈サブタイプがカウントされます。テキストノート、ハイライト、下線、フリーテキスト、インク、スタンプ、多角形と折れ線シェイプ、リンク注釈、ポップアップダイアログ、フォームウィジェット注釈です。文書全体の注釈合計を得るにはすべてのページの値を合わせてください
このプロパティは Active が True であることを必要とし、PageNumber が示すページから読み取ります。ページに注釈がないか文書が読み込まれていないとき、値は 0 です。0 から AnnotationCount - 1 までのインデックスで Annotation[Index] を使い、各エントリのサブタイプ、境界矩形、色、フラグビットマスク、内容テキストを記述する TPdfAnnotation レコードを取得します
注釈の反復は O(n) ですが、各 Annotation[Index] 呼び出しは新しい PDFium ハンドルを開き、オンデマンドで Unicode 内容をデコードします。複数回必要な場合は結果をキャッシュしてください。ページの注釈の変更(挿入、削除)はインデックスを無効にします。変更後にループを再開するか AnnotationCount を再読み込みしてください
FormFieldCount を使いますLinkAnnotationCount[PageNumber] を使います。これは任意のページでサブタイプ /Link に直接フィルターします
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;