PDFium Delphi Component Docs

Destination プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium
名前付き宛先について、ターゲットページ、PDF ビューモード、生のビューパラメーター、座標、ズームフラグを返します

構文

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

説明

名前付き宛先 とは、PDF ドキュメントカタログに保存され、具体的なページ・位置・ズームのタプルに解決されるシンボル名(例:"chap5.fig3")です。名前付き宛先を使うと、しおり、リンク注釈、外部ドキュメントが、ハードコードされたページ座標ではなく安定した名前でターゲットを参照できるため、入力リンクを壊さずにドキュメントを再ページングできます

PDFium Delphi Component は、旧式の /Dests 辞書と現行の /Names /Dests 名前ツリーの両方を、1 つの 0 始まりのリストに平坦化します。Destination[Index] は、宛先名、1 始まりのターゲットページ、デコード済みの ViewMode、生の ViewParameters、ビュー座標、ズーム倍率、存在フラグを保持する TDestination レコードを返します

名前付き宛先の総数は DestinationCount で取得し、Destination[I] で列挙します。ターゲット名が既に分かっている場合は DestinationByName を使用します

パラメーター

IndexInteger. 平坦化された名前付き宛先リスト内の 0 始まりの位置。[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;
  // Navigate to the first destination
  if Pdf1.DestinationCount > 0 then
    Pdf1.PageNumber := Pdf1.Destination[0].PageNumber;
end;

関連項目

DestinationCount, DestinationByName, PageNumber, Bookmark, LinkAnnotation