PDFium Delphi Component Docs

GetLinkedAnnotationChain الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
يمشي على علاقة /Popup أو /IRT مرارًا ويعيد فهارس الصفحات لكل تعليق توضيحي مترابط على الطريق، مع حماية من الدورات

الصياغة

function GetLinkedAnnotationChain(AnnotIndex: Integer; Relationship: TPdfAnnotationRelationship; MaxDepth: Integer = 64): TPdfIntegerArray;

AnnotIndexInteger. فهرس صفري الأساس للتعليق التوضيحي البادئ على الصفحة الحالية، في المدى 0 .. AnnotationCount - 1
RelationshipTPdfAnnotationRelationship. يتبع parPopup مدخلات /Popup، ويتبع parInReplyTo مدخلات الردود /IRT
MaxDepthInteger. أقصى عدد من الروابط يُتبَّع. يجب أن يكون بين 1 و 4096 وإلا يُرفع EPdfError. والافتراضي 64
ResultTPdfIntegerArray. فهارس الصفحات للتعليقات التوضيحية المترابطة بترتيب الزيارة. ويكون فارغًا عندما لا يملك التعليق البادئ رابطًا من هذا النوع

الوصف

يطبق GetLinkedAnnotationIndex مرارًا: من التعليق البادئ يتبع العلاقة المطلوبة إلى التعليق التالي، ثم مرة أخرى من ذاك، جامعًا كل فهرس على الطريق. والنتيجة هي سلسلة ردود نقاش أو سلسلة منبثقات، كمصفوفة بسيطة من فهارس تعليقات الصفحة

يتوقف المشي على ثلاثة شروط: ألا يملك التعليق الحالي رابطًا آخر، أو أن يبلغ عدد الروابط المزارة MaxDepth، أو أن يعيد الفهرس التالي زيارة تعليق جرى رؤيته سابقًا (ويُعد الفهرس البادئ مرئيًا). وحارس الدورات يجعل الاستدعاء آمنًا على المستندات المشوَّهة التي تدور مدخلات /IRT فيها

الفهرس البادئ نفسه ليس أبدًا جزءًا من النتيجة، بل التعليقات التوضيحية التي يقود إليها فقط. والتعليق الذي لا يملك الرابط المطلوب يعطي مصفوفة فارغة، لا خطأً

ملاحظات

مثال

var
  Chain: TPdfIntegerArray;
  Index: Integer;
begin
  // collect the whole reply thread under annotation 5
  Chain := Pdf1.GetLinkedAnnotationChain(5, parInReplyTo);
  for Index in Chain do
    Memo1.Lines.Add(Pdf1.Annotation[Index].ContentsText);
end;

انظر أيضًا

GetLinkedAnnotationIndex, Annotation, AnnotationCount