文書 JavaScripts

 互換性を持つPDFリーダーでは、JavaScriptコードを使って、PDF文書の機能を強化することができます。
 PDF文書は、無数の、自動や、ユーザーが介入する「出来事(イベント)」によって呼び出せる JavaScript で動作することができます。
 出来事とは、例えば、文書の開閉イベント、ページの表示・非表示イベント、ページ要素上のマウス・イベントや、対話型のフォーム項目での確認や、計算のイベントなどです。

PDF での JavaScript は、以下の用途に、よく使われれます:

JavaScript API は、主に Adobe Acrobatファミリー製品によってサポートされます。
通常、他社のビュアも、API のいくつかの部分をサポートします。

この、文書 JavaScripts エディター・ツールは、単一ファイル・モードと、バッチファイル・モードで、使うことができます。
1つの PDF だけをツールにわたすと、ツールは、単一ファイル・モードで開始します。ツールは、文書が既に含んでいる、すべての JavaScript 動作を探索します。したがって、これは既存の動作を編集するために使うことができるモードです。また、新しい動作を追加することもできます。
ツールを、複数のファイルを対象にして開始させると、それはバッチファイル・モードで作動します。
このモードでは、ツールは、新しい JavaScript 動作を、処理した全ての文書に加えるためだけに、使うことができます。

このツールを使うと、どちらのモードでも、次のエリアに対して、JavaScript 動作を追加、削除、編集できます:

単一ファイル・モードで使うと、画面注釈および対話型のフォーム項目のための、既存の JavaScript 動作を、削除したり編集したりできます。

以下のスクリーンショットは、ツールの GUI を示しています。

JavaScripts editor

JavaScripts editor

JavaScripts editor

左のスクリプト 一覧 パネルでは、JS 動作を形式毎にグループ化して表示します。
これは、文書レベル・スクリプト、文書イベント JS 動作、および、ページ・イベント JS 動作を、表示切り替えするタブ・セレクターです。
単一ファイル・モードで作動して、文書に関連する JS 動作がある場合のみ、ここには、画面注釈および対話型のフォーム項目のタブ・セレクターが表示されます。

既存のスクリプトを変更するには、まず、この形式一覧 タブから、それを選び、右側のスクリプトを編集するテキスト・エディターを使います。
右上の、ツールバーのスクリプト名欄は、文書レベル・スクリプトの名前を変更するために使うことができます。

各々のタブ・セレクターには、新しいスクリプトを作成したり、選択したスクリプトを削除するためのボタンを備えたツールバーが有ります。
新しいスクリプト・ボタンをクリックすると、JS 動作の特性を定義するオプションを備えた、設定サブ・パネルが開きます。 JS 動作の特性とは、それを起動する出来事や、追加される文書ページなどです。

単一ファイル・モードでも、変更は、ドキュメントに直ぐ適用されるわけではありません。
左下の「下見」ボタンは、変更を一時的に適用し、スクリプトがどのように作動するかを確かめるために、自動的にデフォルトの PDFリーダを開くために使います。
「実行」ボタンは、変更を決定的に適用するために使います。また、「中止」ボタンは、変更を適用せずに、ツールを終了するために、いつでも使うことができます。

左上ツールバーには、JavaScript 動作の雛形を、保存し、開くオプションがあります。 したがって、JavaScript 動作の特定のセットを、容易に保存して、その後で、他の文書に適用することができます。
雛形は、文書レベル・スクリプトと、文書とページ・イベント JS 動作だけを、保存します。 画面注釈と、対話型の形式項目 JS 動作 (これは、単一ファイル・モードで働く場合、編集されている文書に特有で存在している可能性がある) は、雛形ファイルに保存されません

スクリプトには広範囲な内容が含まれます。それは必要とされる機能と、JavaScript API 可能性により異なります。
Acrobat 開発者のための Adobe JavaScript センタ の資料は、知識を広げるための参考になります。
また、JavaScript を広範囲に使っている PDF や、プロジェクトで実行したいと思うものに近い機能を備えた PDF を調べることは、とても参考になります。

コマンド・ライン・インタフェース:

Function name: SetDocumentJS
Options: [] means optional parameter
Template= - Full path to a document JS template file, previously defined and saved to a template file from the tool GUI.
[OutputPath=] - Full path where to put the edited files. If not specified, the file source path is used instead.
[-KeepTimestamps] - keep source timestamps (created, last modified) unchanged.
[-CreateBackup] - If specified, creates a backup of the PDF file.
[-s] - Silent mode. Run without showing the interface (only available for licensed users)
FilesList - List of PDF files to process with the SetDocumentJS function. Separate files using the semicolon";" char. Must be the last parameter
 
例:
"C:\Program Files\PDF-ShellTools\PDFShellTools.exe" SetDocumentJS OutputPath=C:\PDFs\JSApplied Template=c:\JSTemplates\JSTemplate.jst C:\PDFs\*.pdf
(c) 2006-2021 RTT, Makoto WATANABE