property JavaScriptActionCount: Integer; // read only
Devuelve la cantidad de acciones JavaScript declaradas a nivel de documento —
típicamente entradas bajo el árbol de nombres /Names /JavaScript del catálogo
(sección 12.6.4.16 de la especificación PDF 1.7) más las entradas OpenAction,
DA, WC, WS, DS, WP,
DP a nivel de documento cuando sus diccionarios de acción llevan un flujo JS
Los scripts a nivel de campo y de anotación no se incluyen; estos residen en las
anotaciones o en los diccionarios de campos de AcroForm
El valor es 0 cuando el documento no carga, cuando Active
es False o cuando el PDF simplemente no contiene scripts a nivel de documento. Use
JavaScriptAction[Index] para recuperar una sola entrada como registro
TPdfJavaScriptAction (Name + código fuente del Script) o
JavaScriptActions para materializar el arreglo completo en una sola llamada
Leer esta propiedad es barato — PDFium solo recorre el árbol de nombres sin ejecutar ningún script. PDFium Delphi Component no evalúa JavaScript; las cadenas devueltas son datos de inspección puros, útiles para análisis forense, eliminar scripts antes de redistribuir o mostrar al usuario una advertencia de “El documento contiene JavaScript”
JavaScriptActions cuando solo se necesite un conteo o una entrada únicaName vacío son válidas — el PDF permite diccionarios de acción
sin nombre (p. ej. OpenAction). Tampoco confíe en que Name sea único
// 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;