property JavaScriptActionCount: Integer; // read only
Renvoie le nombre d'actions JavaScript déclarées au niveau du document — généralement les entrées situées sous l'arbre de noms /Names /JavaScript du catalogue (PDF 1.7 spec section 12.6.4.16) plus les entrées OpenAction, DA, WC, WS, DS, WP, DP au niveau du document lorsque leurs dictionnaires d'action contiennent un flux JS Les scripts au niveau des champs et des annotations ne sont pas inclus ; ils résident dans les dictionnaires d'annotations ou de champs AcroForm
La valeur est 0 lorsque le document ne se charge pas, lorsque Active est False ou lorsque le PDF ne contient simplement aucun script de niveau document. Utilisez JavaScriptAction[Index] pour récupérer une seule entrée sous forme d'enregistrement TPdfJavaScriptAction (Name + Script source) ou JavaScriptActions pour matérialiser tout le tableau en un seul appel
La lecture de cette propriété est peu coûteuse — PDFium ne parcourt que l'arbre des noms sans exécuter de script. PDFium Delphi Component n'évalue pas le JavaScript ; les chaînes renvoyées sont des données de pure inspection, utiles pour l'analyse forensique, la suppression des scripts avant redistribution ou l'affichage à l'utilisateur d'un avertissement “Document contains JavaScript”
JavaScriptActions lorsque seul un compte ou une seule entrée est nécessaireName vides sont valides — le PDF autorise des dictionnaires d’action sans nom (par ex. OpenAction). Ne comptez pas non plus sur l’unicité de Name
// 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;