property JavaScriptActions: TPdfJavaScriptActions; // read only
JavaScriptActions materialiseert elke JavaScript action op documentniveau in één
dynamische array van TPdfJavaScriptAction-records. Elk record bevat de naam van de action
(meestal de entry key in de /Names /JavaScript-naamboom van de catalogus, bijvoorbeeld
OpenAction, App.calc) en de scriptsource, gedecodeerd als WString.
De arraylengte is gelijk aan JavaScriptActionCount
Het resultaat is leeg wanneer Active False is of wanneer de PDF geen scripts op
documentniveau bevat. JavaScriptActions is handiger dan loopen over JavaScriptAction[Index]
wanneer je elke entry nodig hebt — één allocatie, één parse, klaar om te groeperen of te filteren. Voor
zeer grote scriptcollecties verdient de geïndexeerde accessor de voorkeur om te vermijden dat elk scriptbody
vooraf wordt gematerialiseerd
PDFiumPas biedt scripts alleen als inspectiedata aan — het voert ze niet uit, sandboxt ze niet en
transformeert ze niet. Gebruik de array om een “contains JavaScript”-waarschuwing te tonen, om
scripts vóór distributie te verwijderen, gecombineerd met een low-level FPDFDoc_*-mutatiepass,
of om een externe analyzer te voeden. Scripts op field- en annotatieniveau zitten elders en maken geen deel
uit van deze array
OpenActionLength(Result) = 0 voor een snelle “no JS”-controle zonder de count apart te berekenen
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]));