property JavaScriptActions: TPdfJavaScriptActions; // read only
JavaScriptActions は、ドキュメントレベルの JavaScript アクションをすべて、1 つの TPdfJavaScriptAction レコードの動的配列へ具体化します。各レコードはアクション名(通常はカタログの /Names /JavaScript name tree の entry キー。例: OpenAction、App.calc)と、WString にデコードされたスクリプトソースを持ちます。配列長は JavaScriptActionCount と一致します
Active が False のとき、PDF がドキュメントレベルのスクリプトを持たないときは、結果は空です。全 entry が必要なら、JavaScriptAction[Index] をループするより JavaScriptActions の方が楽です。1 回のアロケーション、1 回の解析で、グループ化やフィルタリングにそのまま使えます。巨大なスクリプト集合では、すべてのスクリプト本体を前もって具体化しないようインデックス付きアクセサーを推奨します
PDFium Delphi Component が公開するスクリプトは検査データだけです。実行もサンドボックス化も変換も行いません。この配列は「JavaScript を含む」警告を出す、再配布前にスクリプトを剥がす(低レベルの FPDFDoc_* 変更パスと組み合わせる)、外部アナライザーに渡す、といった用途に使います。フィールド・注釈レベルのスクリプトは別の場所にあり、この配列には入りません
OpenAction など)を許しますLength(Result) = 0 を使えます。カウントを別途計算する必要はありません
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]));