property JavaScriptActions: TPdfJavaScriptActions; // read only
JavaScriptActions разворачивает каждое document-level JavaScript действие в один динамический массив записей TPdfJavaScriptAction. Каждая запись несёт имя действия (обычно ключ записи в дереве имён /Names /JavaScript каталога, например OpenAction, App.calc) и исходник скрипта, декодированный в WString. Длина массива равна JavaScriptActionCount
Результат пуст, когда Active равно False или в PDF нет document-level скриптов. JavaScriptActions удобнее цикла по JavaScriptAction[Index], когда нужны все записи — одна аллокация, один парс, готово к группировке или фильтрации. Для очень больших наборов скриптов предпочитайте индексированный аксессор, чтобы не разворачивать все тела скриптов заранее
PDFium Delphi Component отдаёт скрипты только как данные для инспекции — он их не исполняет, не сандбоксит и не трансформирует. Используйте массив, чтобы показать предупреждение “содержит JavaScript”, вычистить скрипты перед распространением (в паре с низкоуровневым проходом мутаций FPDFDoc_*) или скормить внешнему анализатору. Скрипты уровня полей и аннотаций живут в других местах и в этот массив не входят
OpenAction)Length(Result) = 0, без отдельного вычисления count
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]));