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



左のスクリプト 一覧 パネルでは、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 |
|