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;