property JavaScriptActions: TPdfJavaScriptActions; // somente leitura
JavaScriptActions materializa todas as ações JavaScript de nível de documento em um
único array dinâmico de registros TPdfJavaScriptAction. Cada registro carrega o
nome da ação (tipicamente a chave de entrada na árvore de nomes
/Names /JavaScript do catálogo, por exemplo OpenAction,
App.calc) e o código-fonte do script decodificado como WString. O
comprimento do array é igual a JavaScriptActionCount
O resultado fica vazio quando Active é False ou quando o PDF
não contém scripts de nível de documento. JavaScriptActions é mais conveniente que percorrer
JavaScriptAction[Index] em laço quando você precisa de todas as entradas —
uma alocação, uma análise, pronto para agrupamento ou filtragem. Para coleções de scripts
muito grandes, prefira o acessador indexado para evitar materializar o corpo de todos os
scripts de imediato
O PDFium Delphi Component expõe os scripts apenas como dados de inspeção — não os executa,
não os coloca em sandbox nem os transforma. Use o array para exibir um aviso de
“contém JavaScript”, remover scripts antes da redistribuição (combine com uma
passagem de mutação FPDFDoc_* de baixo nível) ou alimentar um analisador
externo. Scripts de nível de campo e de anotação residem em outro lugar e não fazem
parte deste array
OpenAction embutido)Length(Result) = 0 para uma verificação rápida de “sem JS”
sem calcular a contagem separadamente
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]));