فحص مخطط الإجراءات وتنقل GoToE

THPDFActionBuilder ينشئ إجراءات GoToE الخاصة بـ PDF 1.6 للوجهات داخل مستندات PDF المضمّنة أو المرتبطة، بينما تقرأ واجهة برمجة إجراءات الإجراءات المحمّلة جميع أنواع إجراءات PDF القياسية الثمانية عشر دون تنفيذها

بناة GoToE

class function GoToEmbeddedNamedDestination(
  const RootFileName, DestinationName: AnsiString;
  const TargetPath: array of THPDFEmbeddedTarget;
  NewWindow: boolean = false): THPDFActionBuilder;

class function GoToEmbeddedPage(
  const RootFileName: AnsiString;
  TargetPageIndex: Integer;
  const TargetPath: array of THPDFEmbeddedTarget;
  FitMode: THPDFDestinationFitMode = dfmFit;
  Left: Single = 0; Top: Single = 0;
  Right: Single = 0; Bottom: Single = 0;
  Zoom: Single = 0; NewWindow: boolean = false): THPDFActionBuilder;

أنشئ كل إدخال في مسار الوجهة باستخدام HPDFEmbeddedParentTarget أو HPDFEmbeddedFileTarget أو أحد التحميلات الزائدة لـ HPDFEmbeddedAnnotationTarget

يكتب الابن المُحدّد من خلال شجرة أسماء EmbeddedFiles القيم /R /C بالإضافة إلى /N، بينما يكتب ابن تعليق المرفق القيم /R /C بالإضافة إلى الزوج المطلوب /P و /A

تكتب الإدخالات الأب القيم /R /P فقط، وتصبح الإدخالات المتداخلة قواميس /T متكررة، ويتطلب RootFileName الفارغ مسار وجهة غير فارغ

مثال Delphi

var
  Action: THPDFActionBuilder;
  Targets: THPDFEmbeddedTargetArray;
begin
  SetLength(Targets, 2);
  Targets[0] := HPDFEmbeddedFileTarget('chapter.pdf');
  Targets[1] := HPDFEmbeddedParentTarget;
  Action := THPDFActionBuilder.GoToEmbeddedNamedDestination(
    'containers\root.pdf', 'EmbeddedStart', Targets, True);
  try
    HotPDF.CurrentPage.SetAnnotationAction(Annot, Action);
  finally
    Action.Free;
  end;
end;

مخطط الإجراءات المحمّل

function GetLoadedActionChain(ActionObject: THPDFObject): THPDFLoadedActionInfoArray;
function GetLoadedOpenActionChain: THPDFLoadedActionInfoArray;
function GetLoadedDocumentActionChain(ActionType: THPDFActionScriptType): THPDFLoadedActionInfoArray;
function GetLoadedPageActionChain(PageIndex: Integer; Trigger: THPDFPageActionTrigger): THPDFLoadedActionInfoArray;
function GetLoadedAnnotationPrimaryActionChain(PageIndex, AnnotationIndex: Integer): THPDFLoadedActionInfoArray;
function GetLoadedAnnotationActionChain(PageIndex, AnnotationIndex: Integer; Trigger: THPDFAnnotationActionTrigger): THPDFLoadedActionInfoArray;
function GetLoadedFormFieldActionChain(FieldIndex: Integer; Trigger: THPDFFormFieldActionTrigger): THPDFLoadedActionInfoArray;
function GetLoadedOutlineActionChain(OutlineIndex: Integer): THPDFLoadedActionInfoArray;

يتبع المصفوفة المُعادة ترتيب التنفيذ: يظهر الإجراء الأب أولاً، يليه كل قاموس /Next أو عضو مصفوفة بترتيب عمق أول متسلسل

THPDFLoadedActionInfo.Kind يُعرّف GoTo أو GoToR أو GoToE أو Launch أو Thread أو URI أو Sound أو Movie أو Hide أو Named أو SubmitForm أو ResetForm أو ImportData أو JavaScript أو SetOCGState أو Rendition أو Trans أو GoTo3DView

تُفكّ شُغل المعاملات الأساسية إلى حقول الوجهة والملف وURI وJavaScript والهدف والعملية والعلم والحجم والقيمة المنطقية الاختيارية والكائن المرتبط

يستخدم NewWindow القيم obAbsent أو obFalse أو obTrue بحيث تبقى القيمة المفقودة مميزة عن قيمة false الصريحة

لا ينفّذ القارئ أي إجراء قط ولا يتبع مخططاً غير محدود

تُعيد الإدخالات المشوّهة والدورات والعقد المشتركة المتكررة وعمق يتجاوز 64 وعدد عقد يتجاوز 4096 ومصفوفات /Next كبيرة الحجم سجلات تشخيصية من خلال Malformed و Issue

مُحفّزات رؤية التعليقات التوضيحية

يتضمّن THPDFAnnotationActionTrigger و THPDFAnnotationJavaScriptTrigger إدخالات فتح الصفحة /PO وإغلاق الصفحة /PC والصفحة المرئية /PV والصفحة غير المرئية /PI

تتفاوض هذه المُحفّزات الأربعة مع PDF 1.5، بينما تحتفظ مُحفّزات إجراءات الفأرة والتركيز الحالية بمتطلبات إصداراتها السابقة

انظر أيضاً