property JavaScriptActions: TPdfJavaScriptActions; // read only
JavaScriptActions는 모든 document-level JavaScript action을 하나의
TPdfJavaScriptAction record 동적 array로 materialise합니다. 각 record는
action name(보통 catalog의 /Names /JavaScript name tree에서의 entry key,
예: OpenAction, App.calc)과 WString으로 디코딩된
script source를 담습니다. array 길이는 JavaScriptActionCount와 같습니다
Active가 False이거나 PDF에 document-level script가 없으면
결과는 비어 있습니다. 모든 entry가 필요할 때는 JavaScriptAction[Index]를
반복하는 것보다 JavaScriptActions가 더 편리합니다 — 한 번의 allocation,
한 번의 parse로 grouping 또는 filtering에 바로 쓸 수 있습니다. 매우 큰 script collection은
모든 script body를 한꺼번에 materialise하지 않도록 indexed accessor를 사용하는 편이 좋습니다
PDFiumPas는 script를 inspection data로만 노출하며 — 실행, sandbox, transform하지
않습니다. 이 array를 사용해 “contains JavaScript” 경고를 띄우고, 배포 전에 script를
제거하거나(FPDFDoc_* mutation pass와 함께 사용), 외부 analyser에 넘기세요.
Field-level 및 annotation-level script는 별도이며 이 array에 포함되지 않습니다
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]));