property DestinationCount: Integer; // read only
DestinationCount belgeye kaydedilen named destinations sayısını döndürür; yani catalog’s /Dests dictionary’si veya /Names /Dests name tree’si üzerinden erişilebilen girdileri (PDF 1.7 spec section 12.3.2.3)
Bir named destination, bir dize etiketini bir target page’e, bir viewport rectangle’a ve isteğe bağlı bir zoom factor’a bağlar; bookmarks, link annotations ve remote-goto actions buna inline olarak ya da name üzerinden başvurur.
Active False olduğunda ya da named destinations bildirilmediğinde değer 0 olur (links ve bookmarks inline explicit destinations üzerinden yine çalışabilir; bu sayımda yalnızca “named” türü yer alır)
Destination[Index] özelliğini 0 ile DestinationCount - 1 arasındaki dizinlerle kullanarak bir TDestination kaydı elde edin (handle, name, page number, X/Y/Zoom, plus has-flags indicating which fields are explicitly stored)
Maliyet erişim başına O(n)'dir; çünkü PDFium her seferinde name tree'yi dolaşır
Adla yinelenen aramalar için manuel döngü yerine DestinationByName[Name] kullanın — PDFium içerde dengeli ağaç araması yapar ve bu doğrusal taramadan daha iyi ölçeklenir.
Bookmarks özelliği
daha doğrudur; named destinations esas olarak uzak başvuruları işlerken
diğer PDF’lerden gelen başvurular
var I: Integer;
var D: TDestination;
for I := 0 to Pdf1.DestinationCount - 1 do
begin
D := Pdf1.Destination[I];
Memo1.Lines.Add(Format('%s → page %d', [D.Name, D.PageNumber]));
end;