property JavaScriptActionCount: Integer; // read only
Geeft het aantal JavaScript actions terug dat op documentniveau is gedeclareerd —
meestal entries onder de /Names /JavaScript-naamboom van de catalogus
(PDF 1.7 spec section 12.6.4.16) plus documentniveau OpenAction,
DA, WC, WS, DS, WP,
DP-entries wanneer hun action dictionaries een JS-stream bevatten
Scripts op fieldniveau en annotatieniveau zijn niet inbegrepen; die zitten in de
annotaties of AcroForm field dictionaries
De waarde is 0 wanneer het document niet laadt, wanneer Active
False is, of wanneer de PDF eenvoudigweg geen scripts op documentniveau bevat. Gebruik
JavaScriptAction[Index] om één entry op te halen als een
TPdfJavaScriptAction-record (Name + Script source) of
JavaScriptActions om de hele array in één aanroep te materialiseren
Deze property lezen is goedkoop — PDFium doorloopt alleen de naamboom zonder een script uit te voeren. PDFiumPas evalueert JavaScript niet; de teruggegeven strings zijn pure inspectiedata, nuttig voor forensische analyse, het verwijderen van scripts vóór distributie of het tonen van een “Document contains JavaScript” waarschuwing aan de gebruiker
JavaScriptActionsName entries are valid — PDF allows unnamed action
dictionaries (e.g. OpenAction). Do not rely on Name being unique either.
// 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;