فحص مخطط الإجراءات وتنقل 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، بينما تحتفظ مُحفّزات إجراءات الفأرة والتركيز الحالية بمتطلبات إصداراتها السابقة