PDFium Delphi Component Docs

BookmarkFrom الخاصية

المكوّن: TPdf  ·  الوحدة: PDFium
يحوِّل مقبض FPDF_BOOKMARK خام إلى سجل TBookmark مملوء بالكامل بقراءة العنوان وصفحة الوجهة وبيانات الإجراء الوصفية لتلك العقدة في المخطط.

الصياغة

property BookmarkFrom[Handle: FPDF_BOOKMARK]: TBookmark; // للقراءة فقط

الوصف

BookmarkFrom هو الجسر بين تنقل العلامات المرجعية منخفض المستوى في PDFium وسجل TBookmark عالي المستوى. متى حصلت على مقبض FPDF_BOOKMARK مباشرة من PDFium (مثلًا عبر FPDFBookmark_GetFirstChild أو FPDFBookmark_GetNextSibling أو كجزء من اختبار نقرة في عارض)، مرِّره عبر هذا المفهرس لاستقبال نص العنوان المحلول، و PageNumber الهدف، ونوع TPdfAction، وأي URI / مسار ملف مرتبط.

السجل المُعاد هو لقطة: يقرأ قاموس العلامة المرجعية مرة واحدة ويفك ترميز الوجهة إلى رقم صفحة أساسه 1. يُخزَّن المقبض نفسه أيضًا على السجل بحيث يمكنك تمريره مرة أخرى إلى واجهات PDFium دون تنقل شجرة آخر.

هذا المفهرس هو الطريقة القانونية لتنفيذ تنقل مخطط مخصص يحتاج تحكمًا أكبر من Bookmarks (الذي يعد كل شيء عمق أولًا) أو BookmarkChildren (الذي يعيد الأبناء المباشرين فقط). امزج مقابض PDFium الخام مع حل BookmarkFrom لبناء، مثلًا، عرض شجرة بتحميل كسول.

Parameters

HandleFPDF_BOOKMARK. مقبض علامة مرجعية غير nil حُصل عليه من واجهة PDFium C أو من حقل TBookmark.Handle سابق. تمرير nil يعيد سجلًا مُصفَّرًا. يظل المقبض صالحًا فقط أثناء تحميل المستند الأساسي.

ملاحظات

مثال

procedure TForm1.DumpOutline(const Bm: TBookmark; Depth: Integer);
var
  Child: FPDF_BOOKMARK;
  Sub: TBookmark;
begin
  Memo1.Lines.Add(StringOfChar(' ', Depth * 2) + Bm.Title +
    Format(' -> page %d', [Bm.ActionPageNumber]));
  Child := FPDFBookmark_GetFirstChild(Pdf1.Document, Bm.Handle);
  while Child <> nil do
  begin
    Sub := Pdf1.BookmarkFrom[Child];
    DumpOutline(Sub, Depth + 1);
    Child := FPDFBookmark_GetNextSibling(Pdf1.Document, Child);
  end;
end;

انظر أيضًا

Bookmark, Bookmarks, BookmarkChildren, HasBookmarkChildren