property JavaScriptActionCount: Integer; // read only
返回在文档级别声明的 JavaScript 动作数量 —
通常是目录 /Names /JavaScript 名称树下的条目
(PDF 1.7 规范第 12.6.4.16 节)加上文档级 OpenAction、
DA、WC、WS、DS、WP、
DP 条目(当其动作字典携带 JS 流时)
字段级和注释级脚本不包含在内;那些位于
注释或 AcroForm 字段字典上
当文档未加载、Active
为 False 或 PDF 根本不包含文档级脚本时,值为 0。使用
JavaScriptAction[Index] 检索单个条目作为
TPdfJavaScriptAction 记录(Name + Script 源)或
JavaScriptActions 一次调用具体化整个数组
读取此属性很廉价 — PDFium 仅遍历名称树而 不执行任何脚本。PDFium Delphi Component 不评估 JavaScript; 返回的字符串是纯检查数据,可用于取证分析、 在重新分发前移除脚本,或向用户展示“文档包含 JavaScript” 警告
JavaScriptActionsName 条目是有效的 — PDF 允许未命名的动作
字典(例如 OpenAction)。也不要依赖 Name 的唯一性
// 如果 PDF 携带嵌入的 JavaScript,则警告用户
if Pdf1.JavaScriptActionCount > 0 then
if MessageDlg('This document contains JavaScript. Open anyway?',
mtWarning, [mbYes, mbNo], 0) = mrNo then
Pdf1.Active := False;