property LinkAnnotationCount[PageNumber: Integer]: Integer; // read only
تُرجع الخاصية LinkAnnotationCount عدد مدخلات النوع الفرعي /Link على
الصفحة المحددة بالوسيط PageNumber الذي يبدأ من الواحد (القسم 12.5.6.5 من مواصفة
PDF 1.7). وبخلاف AnnotationCount المحصورة في الصفحة
النشطة حاليًا والتي تعد كل أنواع التعليقات الفرعية، تستهدف هذه الخاصية المفهرسة أي
صفحة مباشرة وترشّح النتائج إلى تعليقات الروابط فقط — وهي المدخلات التي تغلف
منطقة قابلة للنقر حول نص أو رسومات وتشير إلى وجهة أو URI أو إجراء تشغيل
أو إجراء مسمى.
مرر PageNumber في النطاق 1 .. PageCount. وتكون القيمة
0 عندما تكون Active تساوي False، أو يكون فهرس الصفحة
غير صالح، أو لا تحتوي الصفحة ببساطة على تعليقات روابط. كما يكشف PDFium Delphi Component
عناوين الويب “المكتشفة تلقائيًا” على حدة عبر WebLinkCount
— فتلك تأتي من فحص أنماط النص وهي ليست جزءًا من LinkAnnotationCount.
استخدم LinkAnnotation[PageNumber, Index] بفهارس من 0
إلى LinkAnnotationCount[PageNumber] - 1 لجلب
سجل TLinkAnnotation — المستطيل المحيط ورقم الصفحة الهدف
ونوع الإجراء ونقاط الرباعي للروابط متعددة الأسطر والحمولة المحلولة
للإجراء. وتكلفة تحميل بيانات الروابط الوصفية O(n) لكل صفحة؛ فخزّنها مؤقتًا عند استعراض
صفحات كثيرة.
Index الذي يبدأ من الصفر في معظم المفهرسات ذات نمط المصفوفات.WebLinkCount عند تنفيذ تراكب موحد
“للنقاط الساخنة القابلة للنقر” في عارض مخصص.0 دون رفع استثناء — فيمكن استخدامها بأمان
داخل فحوصات خيوط دون إحاطة try/except.
var P, I: Integer;
var Link: TLinkAnnotation;
for P := 1 to Pdf1.PageCount do
for I := 0 to Pdf1.LinkAnnotationCount[P] - 1 do
begin
Link := Pdf1.LinkAnnotation[P, I];
Memo1.Lines.Add(Format('p%d link → page %d', [P, Link.PageNumber]));
end;