property JavaScriptActions: TPdfJavaScriptActions; // nur lesbar
JavaScriptActions materialisiert jede JavaScript-Aktion auf Dokumentebene in ein
einziges dynamisches Array von TPdfJavaScriptAction-Datensätzen Jeder
Datensatz trägt den Namen der Aktion (typischerweise der Eintragschlüssel im
Namensbaum /Names /JavaScript des Katalogs, zum Beispiel
OpenAction, App.calc) sowie den als WString
dekodierten Skriptquelltext Die Array-Länge entspricht
JavaScriptActionCount
Das Ergebnis ist leer, wenn Active False ist oder wenn
das PDF keine Skripte auf Dokumentebene enthält JavaScriptActions ist bequemer als
eine Schleife über JavaScriptAction[Index], wenn Sie jeden Eintrag
brauchen — eine Allokation, ein Parse, bereit zum Gruppieren oder Filtern Bei
sehr großen Skriptsammlungen sollten Sie den indizierten Zugriff bevorzugen, um nicht
jedes Skript direkt vorab zu materialisieren
PDFiumPas stellt Skripte nur als Prüfdaten bereit — es führt sie nicht aus,
sandboxt sie nicht und wandelt sie nicht um Verwenden Sie das Array, um eine Warnung
“enthält JavaScript” anzuzeigen, Skripte vor der Weitergabe zu entfernen
(kombiniert mit einem niedrigen FPDFDoc_*-Mutationsdurchlauf) oder an
einen externen Analysator zu übergeben Skripte auf Feld- und Annotationsebene liegen
an anderer Stelle und gehören nicht zu diesem Array
OpenActionLength(Result) = 0 als schnelle Prüfung auf
“kein JS”, ohne die Anzahl separat zu berechnen
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]));