property JavaScriptActionCount: Integer; // read only
문서 수준에서 선언된 JavaScript 액션 수를 반환합니다 —
일반적으로 카탈로그의 /Names /JavaScript 이름 트리(PDF 1.7 사양 12.6.4.16절) 항목과
문서 수준 OpenAction, DA, WC, WS,
DS, WP, DP 항목 중 액션 사전이 JS 스트림을
담은 것입니다. 필드 수준과 주석 수준 스크립트는 포함되지 않습니다. 이들은 주석이나
AcroForm 필드 사전에 있습니다
문서가 로드되지 않거나, Active가 False이거나, PDF에 문서 수준
스크립트가 없으면 값은 0입니다. 단일 항목을 TPdfJavaScriptAction
레코드(Name + Script 소스)로 가져오려면 JavaScriptAction[Index]를, 전체 배열을
한 번에 구체화하려면 JavaScriptActions를 사용하세요
이 속성을 읽는 것은 가볍습니다 — PDFium은 어떤 스크립트도 실행하지 않고 이름 트리만 순회합니다. PDFiumPas는 JavaScript를 평가하지 않습니다. 반환되는 문자열은 순수 검사 데이터로, 포렌식 분석, 재배포 전 스크립트 제거, 또는 사용자에게 “문서에 JavaScript가 포함되어 있습니다” 경고를 표시하는 데 유용합니다
JavaScriptActions
대신 인덱스 접근자로 지연 순회하세요Name 항목도 유효합니다 — PDF는 이름 없는 액션 사전(예: OpenAction)을
허용합니다. Name이 고유하다고 가정하지 마세요
// 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;