property JavaScriptActionCount: Integer; // read only
傳回文件層級宣告的 JavaScript 動作數量 —
通常是 Catalog 的 /Names /JavaScript 名稱樹下的條目
(PDF 1.7 規格第 12.6.4.16 節),再加上動作字典帶有 JS 串流時的
文件層級 OpenAction、DA、WC、WS、DS、WP、
DP 等條目。欄位層級與註解層級的指令碼不包含在內;它們位於
註解或 AcroForm 欄位字典上
當文件未載入、Active 為 False,
或 PDF 本身不含任何文件層級指令碼時,值為 0。使用
JavaScriptAction[Index] 可取得單一條目,即
TPdfJavaScriptAction 記錄(Name + Script 原始碼),或用
JavaScriptActions 一次呼叫取得整個陣列
讀取此屬性成本很低 — PDFium 只走訪名稱樹, 不執行任何指令碼。PDFium Delphi Component 不會評估 JavaScript; 傳回的字串純屬檢視資料,適用於鑑識分析、 在重新散布前移除指令碼,或向使用者顯示「文件包含 JavaScript」 警告
JavaScriptActionsName 條目是有效的 — 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;