property Destination[Index: Integer]: TDestination; // read only
Ett namngivet mål är ett symboliskt namn (till exempel "chap5.fig3") som lagras i PDF-dokumentkatalogen och som löses upp till en konkret tuppel av sida-position-zoom. De låter dispositionslistor, länkannoteringar och externa dokument referera till ett mål med ett stabilt namn i stället för med hårdkodade sidkoordinater, så att dokumentet kan pagineras om utan att inkommande länkar bryts
PDFium Delphi Component plattar ut både äldre /Dests-ordböcker och moderna /Names /Dests-namnträd till en enda nollbaserad lista. Destination[Index] returnerar en TDestination-post som bär målets namn, målsidans nummer (ettbaserat), vykoordinater (X, Y), zoomfaktor och booleska flaggor som anger huruvida varje komponent uttryckligen satts av författaren
Använd DestinationCount för att erhålla det totala antalet namngivna mål, iterera med Destination[I] och använd DestinationByName när du redan känner till målnamnet
| Index | Integer. Nollbaserad position i den utplattade listan över namngivna mål. Måste ligga i [0, DestinationCount - 1]. Ett index utanför intervallet returnerar en nollfylld post med Handle = nil |
HasX, HasY och HasZoom skiljer mål av typen "fit page" / "fit width" (där dessa komponenter saknas) från uttryckliga XYZ-mål. Tillämpa endast de komponenter som är markerade som närvarandeViewMode skiljer mål av typerna XYZ, Fit, FitH, FitV, FitR, FitB, FitBH och FitBV utan att anropare behöver avkoda PDFium-konstanterViewParameterCount anger antalet giltiga poster i den fasta ViewParameters-matrisen med fyra elementHandle före navigering
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;