property DestinationCount: Integer; // read only
تُبلغ الخاصية DestinationCount عن عدد الوجهات المسماة المسجلة لدى
المستند، أي المدخلات التي يمكن الوصول إليها عبر قاموس /Dests
في الكتالوج أو شجرة الأسماء /Names /Dests الخاصة به (القسم 12.3.2.3 من مواصفة
PDF 1.7). وتربط الوجهة المسماة تسمية نصية بصفحة هدف ومستطيل عرض
ومعامل تحجيم اختياري؛ وتشير الإشارات المرجعية وتعليقات الروابط وإجراءات remote-goto إلى
الوجهات إما داخليةً أو بالاسم.
تكون القيمة 0 عندما تكون Active تساوي False أو عندما
لا تُعلن أي وجهات مسماة (قد تبقى الروابط والإشارات المرجعية عاملة عبر وجهات
صريحة داخلية؛ فالنكهة “المسماة” وحدها هي التي تدخل في هذا العدد).
استخدم Destination[Index] بفهارس من 0 إلى
DestinationCount - 1 للحصول على سجل TDestination
(المقبض والاسم ورقم الصفحة و X/Y/Zoom، مع أعلام وجود تشير إلى الحقول
المخزنة صراحة).
تكلفة الوصول هي 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;