CUPS-PDF と AppleScript

CUPS-PDF という仮想(?)プリンタがあります。これが、便利だったりします。CUPS-PDF を使うと印刷時の出力が PDF になります。分かりにくいですが、Mac OS X のプリントダイアログにある「PDF として保存...」メニューのように印刷した書類が PDF で保存されるようになります。

詳しくは LinuxでPDFファイルを作成するには - @IT

これだけなら、プリントダイアログの「PDF として保存...」メニューでいいじゃないか、と思われるかもしれません。しかし、この作業を AppleScript で自動化しようと思ったとき、どうすればいいでしょうか?

UI Scripting ができるから不可能ではないのですが、面倒です。CUPS-PDF を使うとこの作業を少し楽にすることができます。

ともあれ、CUPS-PDF をインストールします。CUPS-PDF Package for Mac OS X から Version 2.4.6.1 をダウンロードし、リンク先に書かれている通りにインストールしてもらえば大丈夫です(Mac OS X 10.5 Leopard で試しています)。が、分かりにくい部分があるので解説を。

先のリンクから zip ファイルをダウンロードし、解凍するとインストーラパッケージが出現します。このパッケージをダブルクリックし、インストールを行います。

次に「システム環境設定」の「プリントとファックス」を表示します。プリンタ一覧の下に「+」ボタンがあります。これをクリックします。

「システム環境設定」の「プリンタとファックス」

プリンタ選択ダイアログが表示されます。ダイアログのツールバーにある「デフォルト」クリックします。CUPS-PDF が表示されているのでこれを選択します(表示されるまで少し待つかもしれません)。

「デフォルト」を指定し「CUPS-PDF」を選択する

ダイアログ下部の「ドライバ」メニューから「使用するドライバを選択...」をクリックします。

ドライバの選択

ドライバの一覧が表示されるのでその中から「Generic postscript color printer」を選択します。

Generic postscript color printer を指定

ダイアログの追加ボタンをクリックします。これで CUPS-PDF プリンタが追加されました。

「システム環境設定」の「プリンタとファックス」でデフォルトプリンタを指定

仕上げとして、「デフォルトのプリンタ」に CUPS-PDF を指定しておきます。ここまでできたら一度、何らかのアプリケーションで「プリント...」メニューを選び、プリントダイアログを表示させてみてください。

「プリンタ」に CUPS-PDF が選択されていることを確認して、そのまま「プリント」ボタンをクリックしてみてください。デスクトップに「cups-pdf」というフォルダが作られ、その中に PDF ファイルが出力されます。これだけでも楽になるのですが、ここまできたら、もう少しです。AppleScript で操作するためにもう少し設定を行います。

何らかのアプリケーションから再度「プリント...」メニューを実行し、プリントダイアログを表示します。このダイアログのポップアップメニューから「カラーマッチング」を選択し、「プリンタのカラー」を選択します。

プリントダイアログのカラーマッチングの設定

この設定を「プリセット」メニューにある「別名で保存...」で、名前をつけて保存します(ここでは「cups-pdf-color」として保存しました)。

プリントダイアログのプリセットの設定

これで完了。AppleScript を使って書類の PDF 保存が一気に楽になります。例えば、Safari で閲覧している Web ページを PDF で保存するには以下のようなスクリプト。

Script Editor で開く

tell application "Safari"
    print document 1
end tell

これだけ。これでデスクトップにある「cups-pdf」フォルダに Web ページが PDF で保存されます。

もし、上記のスクリプトがエラーになるようでしたら、プリントダイアログのプリセットで先ほど保存した「cups-pdf-color」というプリセットが指定されていないかもしれません。このプリセット(というか、「カラーマッチング」で「プリンタのカラー」を使用する)を指定していないとエラーになるようです。プリントダイアログからの印刷ではエラーにならないのだから不思議としか言いようがないのですが。

たいていの書類を編集するようなアプリケーションでは AppleScript からの print 命令を受け取れるので上記のスクリプトのアプリケーション名を変更するだけで編集中の書類を PDF で保存することが可能になります。

ちなみにこの記事の元ネタは The Joy of ScriptingBatch converting *.webloc files to PDF using Safari and cups-pdf at The Joy of Scripting です。こちらの方が分かりやすいし、他にも興味深いことが多々書かれています。

ところで、The Joy of Scripting と聞いて The Joy of Sex を思い浮かべるのは私だけでしょうか?

0 件のコメント :

コメントを投稿