property DestinationCount: Integer; // read only
DestinationCount 會回報向文件註冊的命名目的地數量,即可透過
catalog 的 /Dests 字典或其 /Names /Dests 名稱樹到達的項目
(PDF 1.7 規範第 12.3.2.3 節)。命名目的地會將字串標籤綁定到目標頁面、檢視區矩形與
選擇性的縮放係數;書籤、連結註解與遠端 goto 動作可以用內嵌或依名稱的方式
參照目的地
當 Active 為 False 或未宣告任何命名目的地時,值為
0(連結與書籤仍可透過內嵌明確目的地運作;只有「命名」形式會計入此數),
使用 Destination[Index] 搭配 0 到
DestinationCount - 1 的索引即可取得 TDestination 記錄
(控制代碼、名稱、頁碼、X/Y/Zoom,以及指出哪些欄位已明確儲存的 has 旗標)
每次存取的成本為 O(n),因為 PDFium 每次都會走訪名稱樹,
若要依名稱重複查找,請優先使用 DestinationByName[Name] 而非手動
迴圈 — PDFium 內部會執行平衡樹搜尋,比線性掃描更容易擴展
Bookmarks 屬性
更為直接;命名目的地主要在處理來自其他 PDF 的遠端參照時才有相關性
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;