property AnnotationCount: Integer; // read only
AnnotationCount 返回当前页面 /Annots
数组的长度(PDF 1.7 规范第 12.5 节)。所有注释子类型都会被计入 — 文本
注释、高亮、下划线、自由文本、墨迹、图章、多边形和折线形状、
链接注释、弹出对话框以及表单控件注释。将每一页的值相加即可获得
整个文档的注释总数
该属性要求 Active 为 True,并从
PageNumber 指示的页面读取。当页面没有注释或
文档未加载时,值为 0。使用 Annotation[Index]
以及从 0 到 AnnotationCount - 1 的索引来检索一个
TPdfAnnotation 记录,其中描述每个条目的子类型、边界矩形、颜色、
标志位掩码和内容文本
遍历注释的复杂度为 O(n),但每次 Annotation[Index] 调用
都会打开一个新的 PDFium 句柄并按需解码 Unicode 内容;如果需要多次使用结果,
请将其缓存。修改页面的注释(插入、
删除)会使索引失效 — 更改后重新开始循环或重新读取 AnnotationCount
FormFieldCountLinkAnnotationCount[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;