PDFium Delphi Component Docs

Destination Свойство

Компонент: TPdf  ·  Модуль: PDFium
Возвращает именованное назначение с его целевой страницей, режимом просмотра PDF, исходными параметрами просмотра, координатами и флагами масштабирования

Syntax

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

Description

Именованное назначение — это символическое имя (например, "chap5.fig3"), сохранённое в каталоге документа PDF и разрешающееся в конкретный набор страница-позиция-масштаб. Оно позволяет структурам, аннотациям-ссылкам и внешним документам ссылаться на цель по стабильному имени, а не по жёстко заданным координатам страницы, поэтому документ можно разбивать на страницы заново, не ломая входящие ссылки

PDFium Delphi Component сводит как устаревшие словари /Dests, так и современные деревья имён /Names /Dests в единый список с отсчётом от нуля. Destination[Index] возвращает запись TDestination, содержащую имя назначения, целевую страницу с отсчётом от единицы, декодированный ViewMode, исходные ViewParameters, координаты просмотра, коэффициент масштабирования и флаги присутствия

Используйте DestinationCount для получения общего числа именованных назначений, перебирайте их через Destination[I] и используйте DestinationByName, когда целевое имя уже известно

Parameters

IndexInteger. Позиция с отсчётом от нуля в сведённом списке именованных назначений. Должна быть в [0, DestinationCount - 1]. Индекс вне диапазона возвращает заполненную нулями запись с Handle = nil

Remarks

Example

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;
  // Navigate to the first destination
  if Pdf1.DestinationCount > 0 then
    Pdf1.PageNumber := Pdf1.Destination[0].PageNumber;
end;

See Also

DestinationCount, DestinationByName, PageNumber, Bookmark, LinkAnnotation