互換性を持つPDFリーダーは、JavaScriptコードを使って、PDF文書の機能を強化することができます。
PDF文書は、無数の、自動であったり、ユーザーが介入する「出来事(イベント)」によって呼び出せる JavaScript プログラムに従って、動作することができます。
出来事とは、例えば、文書の開閉イベント、ページを見せたり隠したり、ページの要素上のマウス・イベントや、対話型の形式項目での確認や、計算のイベントなどです。
PDF での JavaScript は、以下の用途に、よく使われれます:
- PDF ビュアを、文書を開いた時に必要とされる、より適切な、固有の状態に、設定する。
- 指定された出来事に応じて、文書の内容を変更する。 例えば、印刷前に文書の一部を隠すとか、文書を開いたときに、あらかじめいくつかの形式項目を満たす。
- PDF ビュアの動作を制限する。 例えば、入力された形式項目の値を確認する。
JavaScript API は、主に Adobe Acrobatファミリー製品によってサポートされます。
通常、他社のビュアも、API のいくつかの部分をサポートします。
この、文書 JavaScripts エディター・ツールは、単一のファイル、およびバッチファイル・モードで、使うことができます。
1つの PDF だけをツールにわたすと、ツールは、単一ファイル・モードで開始します。ツールは、文書が既に含んでいる、すべての JavaScript 動作を探索します。したがって、これは既存の動作を編集するために使うことができるモードです。また、新しい動作を追加することもできます。
ツールを、複数のファイルを対象にして開始させると、それはバッチファイル・モードで作動します。
このモードでは、ツールは、新しい JavaScript 動作を、処理した全ての文書に加えるためだけに、使うことができます。
このツールを使うと、どちらのモードでも、次のエリアに対して、JavaScript 動作を加えたり、削除したり、編集したりすることができます:
- 文書レベルのスクリプト。文書を開いた時に、解析されて/実行されます。そして、他の JavaScript 動作から呼ばれたときに、グローバルに利用できるスクリプトです。
- 文書の出来事。 文書を開く、文書を閉じる、文書を保存しようとする、文書が保存された、文書を印刷しようとする、文書が印刷された、という出来事によって、起動されるスクリプトです。
- ページを開いたり、閉じたりするイベント。
そして、単一ファイル・モードで使うと、画面注釈および対話型の形式項目のための、既存の JavaScript 動作を、削除したり編集したりできます。
下は、このツールの画面です。


左のスクリプト 一覧 パネルでは、形式毎の 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 signed files. If not specified, the file source path is used instead. |
| [-CreateBackup] | - If specified, create a backup file. |
| [-s] | - Silent mode. Run without showing the interface (only available for licensed users) |
| FilesList | - List of PDF files to Sign; 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 |
|