ボタン一発でWebページをPDFに

「お? どこかで見たような画像があるぞって、自分のキャラクタじゃないか。これは証拠を撮っておかねば」

 という事で画面スナップを撮る人もいるでしょう。たまにPDFで保存してしまったりする人もいるかもしれません。(私は過去にPDFで保存していたことがあります。問題のページは証拠として残しておかないといけません。当事者でなく第三者でも指摘すると該当ページが消されてしまったりするためです)
 今回はAcrobat 6を使ってボタンを押したら指定されたページを次々とダウンロードしPDFとして表示するというものです。AcrobatにはWeb Capture機能があり、メニューの「アドバンスト」→「Web Capture」→「Webページの追加」を選択すると、どのURLからダウンロードするか指定できます。
 Acrobat 6に搭載されているJavaScriptでも階層は指定できませんが、指定されたURLにあるページをボタン一発でダウンロードさせることができます。Acrobat 6になってからセキュリティの制限により、ボタン一発で新規に書類を作成してWeb CaptureしてPDFとして特定のファイル名で保存する、ということはJavaScriptからはできなくなってしまっています。ボタンを押したら指定されたURLのページをダウンロードするという自動化っぽくないものになってしまいますが、参考までにということで。

 まず、白紙のPDFを作成しAcrobatで開きます。ボタンを付けるだけなので白紙でなくても適当なPDFでも構いません。フォームツールを使ってボタンを選択し、ページ上でドラッグしてボタンサイズを決定します。
 ダイアログが表示されるので「アクション」タブをクリックします。表示されない場合には、作成したボタンをダブルクリックします。
 ポップアップメニューの「アクションを選択」から「JavaScriptを実行」を選択します。選択したら「追加...」ボタンを押します。下のリストに表示された「JavaScriptを実行」の文字をクリックして選択してから「編集」ボタンを押します。JavaScriptエディタが表示されます。
 以下のように入力しましょう。

this.getURL("http://www.yahoo.co.jp/",false);
this.getURL("http://www.openspc2.org/",false);

 URLの部分を変更すれば特定のページをPDFにすることができます。たくさんのページをPDFにしたい場合には上記のようにPDFにしたい数だけ列記するだけです。
 あまりに数が多い場合には(?)以下のようにします。

sURL = ["http://www.openspc2.org/","http://www.yahoo.co.jp/","http://www.google.co.jp/"];
for (i=0; i<sURL.length; i++) this.getURL(sURL[i],false);

[と]の間にダウンロードしたいページのURLを"〜"でくくって書きます。"〜"と"〜"の間は,(カンマ)で区切ります。これで、ボタン一発で指定ページをダウンロードすることができます。



[サンプルをダウンロード]