property DestinationCount: Integer; // read only
DestinationCount 报告在文档中注册的命名目标数量,
即通过目录的 /Dests
字典或其 /Names /Dests 名称树可达的条目(PDF 1.7 规范第 12.3.2.3 节)
命名目标将字符串标签绑定到目标页面、视口矩形和
可选缩放因子;书签、链接注释和远程跳转动作
以内联或按名称方式引用目标
当 Active 为 False 或
未声明命名目标时,值为 0(链接和书签仍可通过内联
显式目标工作;只有“命名”类型参与此计数)
使用 Destination[Index] 以及从 0 到
DestinationCount - 1 的索引来获得 TDestination 记录
(句柄、名称、页码、X/Y/Zoom,以及指示哪些字段被
显式存储的 has-flags)
每次访问的成本是 O(n),因为 PDFium 每次都会遍历名称树
对于按名称的重复查找,优先使用 DestinationByName[Name] 而不是手动
循环 — PDFium 在内部执行平衡树搜索,其扩展性优于
线性扫描
Bookmarks 属性
更直接;命名目标主要在处理来自
其他 PDF 的远程引用时相关
var I: Integer;
var D: TDestination;
for I := 0 to Pdf1.DestinationCount - 1 do
begin
D := Pdf1.Destination[I];
Memo1.Lines.Add(Format('%s → page %d', [D.Name, D.PageNumber]));
end;