Acrobat JavaScript の使い方を勉強するには

英語の解説書はAdobe社から沢山出ている。しかし、日本語となるとなかなか無いのが現状だ。特にここ数年?は日本語のプログラマー向けの詳細な解説書をAdobe社は出していない。
しかし、Acrobat JavaScriptは本来のJavaScriptにAcrobat特有のオブジェクト(プロパティ+メソッド)を追加しているにすぎない。また、それ程ここ数年?、Acrobat JavaScriptに大きな機能追加があった様にも思えない。よって多少古いが以下に日本語の解説書がある。ダウンロードしてゆっくりと見てほしい。JavaScriptを知らない人でも多少は基本部分の解説も入っているのでそっちの方も参考になる。

 テクニカルノート# 5186
Acrobat JavaScript Object Specification

http://www.adobe.com/jp/support/products/pdfs/acrojs_j.pdf
バージョン は 5.0.5 だが十分な内容と思っている。一読をお勧めする。
※無くなる前に、保存を!

 なお、英語版だが現時点でのAcrobat v9.0のSDKドキュメント上にあるJavaScriptの解説はWEB上から見れるようになっている。
http://livedocs.adobe.com/acrobat_sdk/9/Acrobat9_HTMLHelp/wwhelp/wwhimpl/js/html/wwhelp.htm?&accessible=true

初期表示まで結構時間が掛かるが、最新の内容が見れる。
以下が、ブラウザで見た画面左側部分だ。
PDFドキュメントのしおりと同じ操作になっている。

[JavaScript] -> [JavaScript for API Reference] -> [JavaScript API]

JavaScript for API

標準化 : 変数名

Acrobat JavaScriptで扱う変数名の標準化。

変数名の接頭辞を以下とする。あくまでも例です。

 

  • 数値 : 先頭に「n」を付ける。 例:nCount、nMax
      
  • ブーリアン : 先頭に「b」を付ける。 例:bSkip、bRet
  • 文字列 : 先頭に「s」を付ける。 例:sString、sName
  • グローバルスコープ : 先頭に「g」を付ける。 例:gbFlag、gsType
キーボード

ブラウザ画面の文字サイズを変更するショートカットキー

  1. [ CTRL ] + [ + ]  :  文字を大きく
  2. [ CTRL ] + [ ]  :  文字を小さく

Shortcut Keys

  1. [ CTRL ] + [ + ]  :  Up the font size
  2. [ CTRL ] + [ ]  :  Down the font size

Acrobat JavaScript を置く場所

場所は2つある。

  1. PDFドキュメント内部
  2. PDFドキュメントが置かれている同じフォルダに拡張子「.js」で保存する

①のPDFドキュメント内部にAcrobatのイベントと組み合してJavaScriptを入れる。これはテスト実証済みで問題は今のところ無い。
②はPDFドキュメント外に置く場合だが、実はうまく動かない。マニュアルには3通りの方法があると書かれている。

1) JavaScript フォルダ(アプリケーションフォルダとユーザフォルダ)のどちらかに
配置できます、と書かれている。テストしてみたが稼働しない。何かオモジナイが外の拡張子「.js」ファイルに必要と思われるが、現時点では分かっていない。

2) Acrobat コンソールに入力して実行する。テスト実証済み。但し、基本的に実行できるのは1ステートメントのみで、プログラミング操作による実行は出来ない。手動操作となる。正直、デバッグ用かと思われ、使い物にならないと思っている。複数ステートメントの実行も出来るみたいだが、これ件に関しては別で検証してから報告したい。※気になる点が有る為。

3) バッチシーケンスと言う手法で実行する。これに関しては詳細を調べてないので解説出来ない。
当サイトが目的としているのは「PDFドキュメント外」でのJavaScriptの実行である。

キーボード

ブラウザ画面の文字サイズを変更するショートカットキー

  1. [ CTRL ] + [ + ]  :  文字を大きく
  2. [ CTRL ] + [ ]  :  文字を小さく

Shortcut Keys

  1. [ CTRL ] + [ + ]  :  Up the font size
  2. [ CTRL ] + [ ]  :  Down the font size

コメント

C又はC+のスタイルと同じです。

//  この行はすべてコメント扱いになる
/* この間はコメント扱いになる */
/*
* この間はコメント扱いになる
*/

「//」以降の文字はコメント扱いになります。
「/* */」のアスタリスク間がコメント扱いになります。


しかし、・・・・。(汗

/ コメント扱い /

上記もコメント扱いになっているのはなぜでしょうか?

 

キーボード

ブラウザ画面の文字サイズを変更するショートカットキー

  1. [ CTRL ] + [ + ]  :  文字を大きく
  2. [ CTRL ] + [ ]  :  文字を小さく

Shortcut Keys

  1. [ CTRL ] + [ + ]  :  Up the font size
  2. [ CTRL ] + [ ]  :  Down the font size

PDFのページを開いた時に実行されるAcrobat Java Script のサンプル(その2)

前の「PDFのページを開いた時に実行されるAcrobat Java Script のサンプル」はどのようにしてイベントとして登録されていたのか不思議だった。が、その詳細がやっと判った。

  1. まずは「ページサムネイル」表示にAcrobatの表示を変更する。
  2. 「ページサムネイル」の該当ページをマウスで選択して、右クリックする。
  3. そのマウス上にポップアップメニューが表示される。
  4. そこから「ページのプロパティ」を選択クリックする。

「ページのプロパティ」表示操作

そうすると以下の「ページのプロパティ」画面が表示される。「アクション」タグを選択(クリック)すると、以下の様に既に「ページを開く」に「JavaScriptを実行」が設定されている事が分かる。「JavaScriptを実行」部分をマウスでクリックして選択状態にする。そして最下部の「編集」ボタンをクリックする。

「ページのプロパティ」の「アクション」タグ

以下のAcrobat JavaScriptを入力する画面が表示される。※既に入力されているが。
Acrobat Java Script 入力画面

上記のAcrobat JavaScriptが表示されている。ここで入力された内容はPDF内部では以下の様になる。

//————————————————————-
//—————–XMLタグは編集できません——————–
//————————————————————-

//<Page-Actions>
//<ACRO_source>Page1:ページを開く:Action1</ACRO_source>
//<ACRO_script>

/ 頁を開いた時にJava Scriptを実行する例 /

app.alert(“PDFの頁が開かれました。★”);
//</ACRO_script>
//</Page-Actions>
 

上記のようなXMLタグが付加されてPDFドキュメントにイベント(JavaScript)という形で内部に保存される。<Page-Action>でネット検索しても、この意味を見つけられない理由がこれで分かった。このXMLタグはAcrobat、又はAcrobat Readerが管理しているものであり、ユーザーが触るものでは無いからだ。コメントにある様に「XMLタグは編集できません」とあるが、これは「XMLタグは編集しては絶対だめです」と言っている事を意味する。つまり資料として公開するべきモノではなく、同時に変更してはいけないものだと言う事だ。