Документация PDFiumPas

JavaScriptActionCount Свойство

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
Количество действий JavaScript на уровне документа, сохраненных в PDF

Синтаксис

property JavaScriptActionCount: Integer; // read only

Описание

Возвращает количество действий JavaScript, объявленных на уровне документа — обычно это записи под деревом имен каталога /Names /JavaScript (раздел 12.6.4.16 спецификации PDF 1.7) плюс записи уровня документа OpenAction, DA, WC, WS, DS, WP, DP, когда их словари действий содержат поток JS. Скрипты уровня поля и аннотации не входят; они живут в словарях аннотаций или полей AcroForm

Значение равно 0, когда документ не загружается, когда Active равно False или когда PDF просто не содержит скриптов на уровне документа. Используйте JavaScriptAction[Index], чтобы получить одну запись как запись TPdfJavaScriptAction (Name + Script source), или JavaScriptActions, чтобы материализовать весь массив за один вызов

Чтение этого свойства стоит недорого — PDFium только проходит по дереву имен, не выполняя ни одного скрипта. PDFiumPas не исполняет JavaScript; возвращаемые строки являются чистыми данными для просмотра, полезными для forensic analysis, удаления скриптов перед распространением или показа предупреждения «Document contains JavaScript» пользователю

Примечания

Пример

// 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;

См. также

JavaScriptAction, JavaScriptActions, Permissions