PDFium Delphi Component Docs

JavaScriptActions Свойство

Компонент: TPdf  ·  Модуль: PDFium
Все действия JavaScript на уровне документа, возвращенные как один динамический массив

Syntax

property JavaScriptActions: TPdfJavaScriptActions; // read only

Description

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_*) или скормить внешнему анализатору. Скрипты уровня полей и аннотаций живут в других местах и в этот массив не входят

Remarks

Example

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]));

See Also

JavaScriptAction, JavaScriptActionCount, Permissions