property JavaScriptActionCount: Integer; // read only
تُرجع عدد إجراءات JavaScript المصرَّح بها على مستوى المستند —
وهي عادة مدخلات تحت شجرة الأسماء /Names /JavaScript في الكتالوج
(القسم 12.6.4.16 من مواصفة PDF 1.7) إضافة إلى مدخلات OpenAction
و DA و WC و WS و DS و WP
و DP على مستوى المستند عندما يحمل قاموس إجراءاتها مسار JS.
أما السكربتات على مستوى الحقول أو التعليقات فغير مشمولة؛ فهي تسكن
التعليقات أو قواميس حقول AcroForm.
تكون القيمة 0 عندما لا يُحمَّل المستند، أو عندما تكون Active
تساوي False، أو عندما لا يحتوي ملف PDF ببساطة على سكربتات على مستوى المستند. استخدم
JavaScriptAction[Index] لجلب مدخل واحد كسجل
TPdfJavaScriptAction (الاسم + مصدر السكربت) أو
JavaScriptActions لتحويل المصفوفة كاملة إلى قيم في استدعاء واحد.
قراءة هذه الخاصية رخيصة — إذ يكتفي PDFium باستعراض شجرة الأسماء من دون تنفيذ أي سكربت. ولا يقيّم PDFium Delphi Component سكربتات JavaScript؛ فالنصوص المُرجعة بيانات فحص خالصة، مفيدة للتحليل الجنائي أو إزالة السكربتات قبل إعادة التوزيع أو إظهار تحذير “يحتوي المستند على JavaScript” للمستخدم.
JavaScriptActions عندما تحتاج عددًا أو مدخلًا واحدًا فقط.Name الفارغة صالحة — إذ يسمح PDF بقواميس إجراءات
بلا اسم (مثل OpenAction). ولا تعتمد على فرادة Name أيضًا.
// Warn the user if the PDF carries embedded JavaScript.
if Pdf1.JavaScriptActionCount > 0 then
if MessageDlg('This document contains JavaScript. Open anyway?',
mtWarning, [mbYes, mbNo], 0) = mrNo then
Pdf1.Active := False;