property JavaScriptActionCount: Integer; // somente leitura
Retorna o número de ações JavaScript declaradas no nível do documento —
tipicamente entradas sob a árvore de nomes /Names /JavaScript do catálogo
(seção 12.6.4.16 da especificação do PDF 1.7), mais as entradas de nível de documento
OpenAction, DA, WC, WS,
DS, WP, DP quando seus dicionários de ação
carregam um stream JS. Scripts de nível de campo e de anotação
não estão incluídos; eles residem nas anotações ou nos dicionários de campos
do AcroForm
O valor é 0 quando o documento não carrega, quando Active
é False, ou quando o PDF simplesmente não contém scripts de nível de
documento. Use JavaScriptAction[Index] para recuperar uma única entrada como um
registro TPdfJavaScriptAction (Name + código-fonte do Script) ou
JavaScriptActions para materializar o array inteiro em uma única chamada
Ler esta propriedade é barato — o PDFium apenas percorre a árvore de nomes sem executar nenhum script. O PDFium Delphi Component não avalia JavaScript; as strings retornadas são dados de inspeção puros, úteis para análise forense, remoção de scripts antes da redistribuição ou exibição de um aviso de “Documento contém JavaScript” ao usuário
JavaScriptActions quando apenas uma contagem ou uma única entrada é necessáriaName vazias são válidas — o PDF permite dicionários de ação
sem nome (por exemplo OpenAction). Também não confie que Name seja exclusivo
// 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;