Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行する

Acrobat の JavaScript デバッガーで JavaScript が実行できます。

JavaScript デバッガーのコンソールボックスで JavaScript を実行し、その結果を取得する方法を手順で示します。

  

実行する JavaScript は以下で、結果はコンソールに出力されます。

//(p.126) メニュー項目をコンソールに表示
function FancyMenuList(m, nLevel)
{
    var s = "";
    for (var i = 0; i < nLevel; i++) s += " ";
    console.println(s + "+-" + m.cName);
    if ( m.oChildren != null )
    for ( var i = 0; i < m.oChildren.length; i++ )
    FancyMenuList(m.oChildren[i], nLevel + 1);
}
var m = app.listMenuItems();
for ( var i=0; i < m.length; i++ ) FancyMenuList(m[i], 0);

 

 

下にAcrobat 5 , 6 , 7 , 8 , 9 , X (10) も簡単に紹介します。

 

Acrobat XI (11.0) で JavaScript を実行する手順と方法

  

① Acrobat XI のメニューから [表示(V)] -> [ツールセット(O)] -> [デフォルトのツール] をマウスで選択します。

 

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

 

② 更にメニューから [表示(V)] -> [ツール(T)] -> [JavaScript(V)] をマウスで選択します。

 

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

  

③ 画面右下の [JavaScript デバッガー] をマウスでクリックします。

 

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

  

④ 以下のJavaScript デバッガー画面が表示されます。

※事前に実行したいJavaScript コードをクリップボードにコピーして置きます。

下のコンソールボックスにマウスカーソルを持って行って、マウスでクリックします。

  

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

  

⑤ 以下のダイアログボックスが表示されます。

はい(Y)」をマウスでクリックします。

※表示されない場合もあります。

 

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

Adobe Acrobat
インタラクティブコンソールは現在使用できません。使用可能にしますか?
はい(Y) いいえ(N)

 

<注意>

以下の様に画面下のボックスに何かが表示されていたら消す必要があります。

画面右下のゴミ箱ボタンをマウスでクリックします。

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

  

⑥ 再度JavaScript デバッガー画面の下のコンソールボックスをマウスで右クリックします。

  

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

 

⑦ 以下のポップアップメニューが表示されるので、[ペースト(A)] を選択します。

  

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

 

⑧ 事前にクリップボードにコピーしておいたJavaScript コードが下のコンソールボックスに張り付きます。

 

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

  

⑨ 貼り付けたJavaScript コード全体を選択状態にします。

注意:すべてのJavaScript コードを完全に選択してください。
キーボードの[Ctrl] + [A] でも出来ます。

 

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

  

⑩ 上記のように選択状態になったら、

キーボード上の [Ctrl] キーを押したままで [Enter] を押します。

  

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

 

⑪ JavaAcript コードが実行され、その結果もコンソールボックス上に表示されます。

結果が表示されない、実行されない場合は、

  1. JavaScriptコードに間違いが有る
  2. 選択状態に漏れが有る
  3. 上記⑩の操作が間違っている、うまくできてない -> もう一度行う

です。 再度確認してください。

   

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

 

⑫ 次はJavaScript の実行結果を取り出します。

結果は同じコンソールボックスにJavaScript コードの後に入っています。

キーボードの [Ctrl] + [A] キーを押して、全てを選択状態にします。

そして、マウスの右クリックをして、表示されるポップアップメニューから、[コピー(C)] を選択します。

  

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

 

⑬ クリップボードに結果がコピーされます。

コンソールボックスの内容を消します。

画面右下のゴミ箱ボタンをマウスでクリックします。

  

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

 

⑭ JavaScript デバッガー画面も不要なので消します。

  

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行

 

⑮ クリップボードの内容をテキストエディタに貼り付けます。

前にJavaScript コード、その後に実行結果が入っています。

Acrobat JavaScript デバッガー・コンソールでJavaScriptを実行  

 

  

Acrobat 5 の場合

メニューから [ツール(T)] -> [JavaScript(J)] -> [コンソール(C)…] をマウスで選択します。

  

Acrobat 5 のJavaScript デバッガー・コンソールでJavaScriptを実行

 

Acrobat 6 の場合

メニューから [アドバンスト(A)] -> [JavaScript(J)] -> [デバッガ(B)…] をマウスで選択します。

 

Acrobat 6 のJavaScript デバッガー・コンソールでJavaScriptを実行

  

Acrobat 7 の場合

メニューから [アドバンスト(A)] -> [JavaScript(J)] -> [デバッガ(B)…] をマウスで選択します。

  

Acrobat 7 のJavaScript デバッガー・コンソールでJavaScriptを実行

 

Acrobat 8 の場合

メニューから [アドバンスト(A)] -> [文書処理(D)] -> [バッチ処理(B)…] をマウスで選択します。

  

Acrobat 8 のJavaScript デバッガー・コンソールでJavaScriptを実行

 

Acrobat 9 の場合

メニューから [アドバンスト(A)] -> [文書処理(D)] -> [バッチ処理(B)…] をマウスで選択します。

 

Acrobat 9 のJavaScript デバッガー・コンソールでJavaScriptを実行

  

Acrobat X (10) の場合

  

メニューから [表示(V)] -> [ツール(T)] -> [JavaScript(V)] をマウスで選択します。

後はAcrobat XI の③からの操作となります。

  

Acrobat X (10) のJavaScript デバッガー・コンソールでJavaScriptを実行

テスト失敗?

Excel VBAからOLE経由でPDFファイルを開いて、イベントを発生させ、同時にAcrobat JavaScriptを実行させようとしたが、うまくいかない。イベントが発生しない。それ以前に、以前画面表示出来たExcel VBAでPDFの画面表示が出来ない。

  • Excel起動
  • Excel VBA起動
  • Excel VBAから、OLE経由でAcrobatをコントロールし、PDFファイルを開く。
  • 同時にPDF内部にあるイベントにJavaAScriptを入れて置き、イベントと同時に実行させる。

が、出来ない。 どこが以前と違うんだ。

当サイトの目的

当サイトは現時点で、 Acrobat JavaScript の使用方法の全貌を見極めるのが、最終目的では無い。詳細を書くとややこしいので省略させてもらうが、PDFドキュメント内の注釈をテキストファイルで出力するのが目的だ。更に汎用性を持たせる為に、外部プログラムからプログラミングコントロールして、指定したPDFドキュメント(ファイル)からそれを実行させる。これが当初の目的としている。実はこの部分が一番難しいと思っている。 途中で部分的に手段(手順)が変わるかもしれないが、それを目標とする。

よって、一部解説が順飛ばしになるかもしれない。その点はご勘弁して頂きたい。現時点(2008/12/05)では、質問に答えるべき知識は無いので、コメントは控えて頂きたい。

但し、情報提供に関するコメントは歓迎する。間違いの指摘も歓迎させて頂く。その時はよろしくお願いしたい。

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