PDFium Delphi Component 文件

Destination 属性

组件: TPdf  ·  单元: PDFium
返回一个命名目标及其目标页面、PDF 视图模式、原始视图参数、坐标和缩放标志

语法

property Destination[Index: Integer]: TDestination; // read only

说明

命名目标(named destination)是存储在 PDF 文档目录中的符号名称(例如 "chap5.fig3"),它解析为具体的页面-位置-缩放三元组。命名目标让书签轮廓、链接注释和外部文档可以通过稳定名称而非硬编码的页面坐标引用目标,因此文档可以重新分页而不会破坏入站链接

PDFium Delphi Component 将旧式 /Dests 字典和现代 /Names /Dests 名称树统一展平为一个从零开始的列表。Destination[Index] 返回一个 TDestination 记录,携带目标名称、从 1 开始的目标页码、解码后的 ViewMode、原始 ViewParameters、视图坐标、缩放因子以及存在标志

使用 DestinationCount 获取命名目标总数,用 Destination[I] 进行迭代,在已知目标名称时使用 DestinationByName

参数

IndexInteger。在展平后的命名目标列表中从零开始的位置。必须在 [0, DestinationCount - 1] 范围内。超出范围的索引返回一个填充零值的记录,其 Handle = nil

备注

示例

var
  I: Integer;
  Dest: TDestination;
begin
  Pdf1.LoadFromFile('manual.pdf');
  Memo1.Lines.Add(Format('%d named destinations:', [Pdf1.DestinationCount]));
  for I := 0 to Pdf1.DestinationCount - 1 do
  begin
    Dest := Pdf1.Destination[I];
    Memo1.Lines.Add(Format('%s -> page %d (X=%.1f Y=%.1f Zoom=%.2f)',
      [Dest.Name, Dest.PageNumber, Dest.X, Dest.Y, Dest.Zoom]));
  end;
  // 导航到第一个目标
  if Pdf1.DestinationCount > 0 then
    Pdf1.PageNumber := Pdf1.Destination[0].PageNumber;
end;

参见

DestinationCount, DestinationByName, PageNumber, Bookmark, LinkAnnotation