property Bookmark[const Title: WString]: TBookmark; // للقراءة فقط
مخطط PDF (ويسمى أيضًا مخطط المستند أو "العلامات المرجعية" في العارضات مثل Acrobat) هو شجرة هرمية من مدخلات مسماة يتنقل المستخدم من خلالها من اللوحة الجانبية. لكل مدخل عنوان، ووجهة أو إجراء اختياري، وصفر أو أكثر من الأبناء. يبسط PDFium Delphi Component الشجرة إلى تسلسل من سجلات TBookmark تحتفظ بمقبض FPDF_BOOKMARK الأساسي إضافة إلى العنوان المحلول مسبقًا، ورقم الصفحة الهدف، ونوع الإجراء، وهدف الإجراء.
ينفذ نموذج Bookmark المفهرس بالسلسلة بحثًا حساسًا لحالة الأحرف عبر شجرة المخطط بأكملها (عمق أولًا) ويعيد أول عقدة مطابقة. يكون السجل المُعاد Handle = nil و PageNumber = 0 عندما لا يوجد مدخل بهذا العنوان — تحقق من Handle قبل التنقل.
استخدم Bookmarks لتعداد كل عقدة بترتيب المستند، و BookmarkChildren للتنقل عبر مستوى واحد من التداخل، و BookmarkFrom لتحويل مقبض خام (مثلًا من حدث نقرة من جهة العارض) مرة أخرى إلى سجل مملوء.
| Title | WString. عنوان العلامة المرجعية الكامل المطلوب مطابقته. المقارنة حساسة لحالة الأحرف ودقيقة (بدون مطابقة سلسلة فرعية أو أحرف بدل). يجب إعادة إنتاج المسافات وعلامات الترقيم في العنوان تمامًا كما خُزِّنت في مخطط PDF. |
Action في السجل المُعاد إلى كيفية تصرف العلامة المرجعية عند تفعيلها — يقفز acGoto إلى ActionPageNumber داخل المستند، ويستهدف acGotoRemote ملف PDF آخر، ويفتح acUri رابط URL، ويشغِّل acLaunch ملفًا خارجيًا، ويعني acUnsupported أن PDFium لم يستطع تفسير الوجهة.0.
var
Bm: TBookmark;
begin
Pdf1.LoadFromFile('specification.pdf');
Bm := Pdf1.Bookmark['Chapter 5: Annotations'];
if Bm.Handle <> nil then
begin
case Bm.Action of
acGoto: Pdf1.PageNumber := Bm.ActionPageNumber;
acUri: ShowMessage('URL bookmark');
acGotoRemote: ShowMessage('External PDF target');
end;
end
else
ShowMessage('No bookmark with that title.');
end;