TPdfLifecycleActionPolicy = (lapDisabled, lapManual, lapAutomatic);
TPdfDocumentLifecycleAction = (dlaJavaScript, dlaOpen, dlaWillClose, dlaWillSave, dlaDidSave, dlaWillPrint, dlaDidPrint);
TPdfPageLifecycleAction = (plaOpen, plaClose);
property LifecycleActionPolicy: TPdfLifecycleActionPolicy; // default lapAutomatic
يمنع lapDisabled تنفيذ إجراءات دورة الحياة التلقائية والصريحة معًا
يكبح lapManual الإجراءات التلقائية مع السماح بطريقتَي التنفيذ الصريحتين
يحافظ lapAutomatic على سلوك JavaScript التلقائي المتوافق للمستند، وفتح المستند وإغلاقه، وفتح الصفحة وإغلاقها، مع السماح بالتنفيذ الصريح أيضًا
لا يلف الوضع التلقائي عمليات الحفظ أو الطباعة لأن اللقطات الداخلية وحفظ التحويل يجب ألا تشغّل نصوص المستند بشكل غير متوقع؛ واستدعِ طريقة المستند الصريحة عند حدود سير العمل التي يتحكم بها المضيف
function ExecuteDocumentLifecycleAction(Action: TPdfDocumentLifecycleAction; out ErrorMessage: string): Boolean;
ينفذ dlaJavaScript إجراءات شجرة الأسماء للـ JavaScript على مستوى المستند، وينفذ dlaOpen إجراء الفتح في الفهرس
تُرسل dlaWillClose و dlaWillSave و dlaDidSave و dlaWillPrint و dlaDidPrint إجراء المستند الإضافي المقابل
تعيد الطريقة False مع ErrorMessage غير فارغة عندما تمنع السياسة التنفيذ أو تكون بيئة ملء النماذج غير متاحة أو يرفع الاستدعاء العكسي استثناءً
function ExecutePageLifecycleAction(PageNumber: Integer; Action: TPdfPageLifecycleAction; out ErrorMessage: string): Boolean;
PageNumber بواحد أساس ويجب أن يشير إلى صفحة في المستند النشط
تعيد الصفحة الحالية استخدام مقبضها الأصلي المحمَّل؛ وتُفتح الصفحة الأخرى مؤقتًا وتُسجَّل لدى بيئة النماذج ويُرسل الإجراء ثم يُلغى التسجيل وتُغلق دون تغيير TPdf.PageNumber
تُعزل إخفاقات التحميل والتسجيل والإجراء والتنظيف والإغلاق في القيمة المُعادة وفي ErrorMessage
var
ErrorMessage: string;
begin
Pdf.LifecycleActionPolicy := lapManual;
if not Pdf.ExecuteDocumentLifecycleAction(dlaWillSave, ErrorMessage) then
raise Exception.Create(ErrorMessage);
try
Pdf.SaveAs(TargetFileName);
finally
Pdf.ExecuteDocumentLifecycleAction(dlaDidSave, ErrorMessage);
end;
end;
تستطيع إجراءات دورة الحياة استدعاء JavaScript للمستند والإجراءات المسماة والاستدعاءات العكسية URI وخدمات المضيف الأخرى المهيأة على TPdf
استخدم lapDisabled للمستندات غير الموثوقة التي يجب ألا تنفذ إجراءات أبدًا، أو lapManual عندما يحتاج التطبيق إلى حدود موافقة صريحة