PDFium Delphi Component Docs

إجراءات دورة الحياة

المكوّن: TPdf  ·  الوحدة: PDFium
تحكّم متى تُنفَّذ إجراءات دورة حياة مستند وصفحات PDF، بما في ذلك حدود الحفظ والطباعة الصريحة

الأنواع

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 عندما يحتاج التطبيق إلى حدود موافقة صريحة

انظر أيضًا

استدعاءات مضيف النموذج, JavaScriptActions, PerformNamedAction