property LinkAnnotationCount[PageNumber: Integer]: Integer; // read only
LinkAnnotationCount 返回由基于 1 的
PageNumber 参数标识的页面上子类型 /Link 条目的数量(PDF 1.7 规范第
12.5.6.5 节)。与仅限于当前
活动页面并计数每个注释子类型的 AnnotationCount 不同,此索引属性直接针对任何
页面,并仅过滤到链接注释 — 即围绕
文本或图形包装可点击区域并指向目标、URI、启动
动作或命名动作的条目
传入 1 .. PageCount 范围内的 PageNumber。当
Active 为 False、页面索引
无效或页面根本不包含链接注释时,值为
0。PDFium Delphi Component 还通过 WebLinkCount 单独暴露
“自动检测”的 Web URL
— 那些来自文本模式扫描,不属于 LinkAnnotationCount
使用 LinkAnnotation[PageNumber, Index] 以及从 0
到 LinkAnnotationCount[PageNumber] - 1 的索引来检索
TLinkAnnotation 记录 — 边界矩形、目标页码、
动作类型、多行链接的四边形点以及解析后的动作
载荷。加载链接元数据是每页 O(n);遍历许多
页面时请缓存
IndexWebLinkCount0 而不是抛出异常 — 可安全地
在线程化探测中使用,无需包裹 try/except
var P, I: Integer;
var Link: TLinkAnnotation;
for P := 1 to Pdf1.PageCount do
for I := 0 to Pdf1.LinkAnnotationCount[P] - 1 do
begin
Link := Pdf1.LinkAnnotation[P, I];
Memo1.Lines.Add(Format('p%d link → page %d', [P, Link.PageNumber]));
end;