PDFium Component Docs

JavaScriptActions 속성

이 API 항목은 식별자, 시그니처, 코드 블록, PDF 용어를 원래 형태로 유지합니다.
컴포넌트: TPdf  ·  유닛: PDFium
모든 document-level JavaScript action을 하나의 동적 array로 반환합니다

구문

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와 같습니다

ActiveFalse이거나 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에 포함되지 않습니다

비고

예제

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]));

참고 항목

JavaScriptAction, JavaScriptActionCount, Permissions