property JavaScriptActions: TPdfJavaScriptActions; // read only
JavaScriptActions 将每个文档级 JavaScript 动作具体化为一个
TPdfJavaScriptAction 记录的动态数组。每个记录携带
动作的名称(通常是目录
/Names /JavaScript 名称树中的条目键,例如 OpenAction、
App.calc)以及解码为 WString 的脚本源。
数组长度等于 JavaScriptActionCount
当 Active 为 False 或 PDF
不包含文档级脚本时,结果为空。当你需要每个条目时,JavaScriptActions 比循环
JavaScriptAction[Index] 更方便 — 一次分配、
一次解析,即可用于分组或过滤。对于非常大的脚本集合,优先
使用索引访问器,以避免预先具体化每个脚本体
PDFium Delphi Component 仅将脚本暴露为检查数据 — 它不执行、
沙箱化或转换它们。使用该数组展示“包含 JavaScript”
警告,在重新分发前剥离脚本(结合低级
FPDFDoc_* 变更处理),或馈送给外部分析器。字段级和
注释级脚本位于其他地方,不属于此数组
OpenAction)Length(Result) = 0 进行快速的“无 JS”检查
而无需单独计算计数
var Scripts: TPdfJavaScriptActions;
var I: Integer;
Scripts := Pdf1.JavaScriptActions;
for I := 0 to High(Scripts) do
Memo1.Lines.Add(Format('[%s] %s',
[Scripts[I].Name, Scripts[I].Script]));