property JavaScriptActions: TPdfJavaScriptActions; // read only
JavaScriptActions materializuje každou akci JavaScript na úrovni dokumentu do
jednoho dynamického pole záznamů TPdfJavaScriptAction. Každý záznam nese
název akce (typicky klíč záznamu ve stromu jmen /Names /JavaScript
katalogu, např. OpenAction, App.calc) a zdrojový kód
skriptu dekódovaný jako WString. Délka pole se rovná
JavaScriptActionCount
Výsledek je prázdný, když je Active na False, nebo když
PDF neobsahuje žádné skripty na úrovni dokumentu. JavaScriptActions je pohodlnější
než smyčka přes JavaScriptAction[Index], když potřebujete všechny
záznamy — jedno přidělení, jedno parsování, připraveno pro seskupování
nebo filtrování. U velmi rozsáhlých sbírek skriptů preferujte indexovaný
přístup, abyste předem nematerializovali těla všech skriptů
PDFium Delphi Component vystavuje skripty pouze jako inspekční data —
nespouští je, neizoluje je v sandboxu ani je netransformuje. Pole použijte
pro zobrazení varování „obsahuje JavaScript“, pro odstranění skriptů
před redistribucí (kombinujte s nízkoúrovňovým zásahem
FPDFDoc_*), nebo pro napájení externího analyzátoru. Skripty
na úrovni polí a anotací žijí jinde a nejsou součástí tohoto pole
OpenAction)Length(Result) = 0 pro rychlou kontrolu „žádný
JS“ bez zvláštního zjišťování počtu
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]));