PDFium Delphi Component Docs

AnnotationCount 속성

컴포넌트: TPdf  ·  유닛: PDFium
현재 활성 page에 붙어 있는 annotation object 수입니다

Syntax

property AnnotationCount: Integer; // read only

Description

AnnotationCount는 현재 페이지 /Annots 배열의 길이를 반환합니다(PDF 1.7 스펙 12.5절). 모든 주석 서브타입이 집계 대상입니다 — 텍스트 메모, 하이라이트, 밑줄, 자유 텍스트, 잉크, 스탬프, 다각형 및 폴리라인 도형, 링크 주석, 팝업 대화상자, 폼 위젯 주석까지 전부입니다. 모든 페이지의 값을 합치면 문서 전체 주석 개수가 됩니다

이 프로퍼티는 Active가 True여야 하며 PageNumber가 가리키는 페이지에서 읽습니다. 페이지에 주석이 없거나 문서가 로드되지 않았으면 값은 0입니다. 0부터 AnnotationCount - 1까지의 인덱스로 Annotation[Index]를 호출하면 각 항목의 서브타입, 바운딩 사각형, 색, 플래그 비트마스크, 내용 텍스트를 담은 TPdfAnnotation 레코드를 얻습니다

주석 순회는 O(n)이지만 Annotation[Index] 호출마다 새 PDFium 핸들을 열고 Unicode 내용을 필요할 때 디코딩하므로, 여러 번 쓸 값이라면 캐싱해 두세요 페이지 주석을 바꾸면(삽입·삭제) 인덱스가 무효화되니 — 루프를 다시 시작하거나 변경 뒤 AnnotationCount를 다시 읽으세요

Remarks

Example

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;

See Also

Annotation, LinkAnnotationCount, FormFieldCount, PageNumber