PDFium Component Docs

Destination Eigenschaft

Dieser API-Eintrag behält Bezeichner, Signaturen, Codeblöcke und PDF-Begriffe in ihrer Originalform.
Komponente: TPdf  ·  Unit: PDFium
Gibt den TDestination-Datensatz für das benannte Ziel am angegebenen nullbasierten Index zurück. Benannte Ziele sind die indirekten Ziele, die unter dem Dests- / Names-Baum des Dokumentkatalogs definiert sind, wie in PDF-Abschnitt 12.3.2 beschrieben

Syntax

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

Beschreibung

A named destination is a symbolic name (for example "chap5.fig3") im PDF-Dokumentkatalog, das sich in ein konkretes Seiten-Positions-Zoom-Tupel auflöst. Damit können Gliederungen, Link-Anmerkungen und externe Dokumente ein Ziel über einen stabilen Namen statt über fest kodierte Seitenkoordinaten referenzieren, sodass das Dokument ohne defekte eingehende Links neu umbrochen werden kann

PDFiumPas flattens both legacy /Dests dictionaries and modern /Names /Dests name trees into a single zero-based list. Destination[Index] returns a TDestination record carrying the destination name, target page number (1-based), view coordinates (X, Y), zoom factor, and Boolean flags indicating whether each component was explicitly set by the author.

Use DestinationCount to obtain the total number of named destinations, iterate with Destination[I], and use DestinationByName when you already know the target name.

Parameter

IndexInteger. Zero-based position in the flattened named-destinations list. Must be in [0, DestinationCount - 1]. An out-of-range index returns a zero-filled record with Handle = nil.

Hinweise

Beispiel

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;

Siehe auch

DestinationCount, DestinationByName, PageNumber, Bookmark, LinkAnnotation