Finder Toolbar Scripts

わかばマークのMacの備忘録さんの Finder Toolbar Scripts の記事を見て、脊髄反射的ににいくつか Finder Toolbar Script を作ってしまった。

Finder Toolbar Scripts

何が一番面倒だったかというと、Read Me ファイルを作ることだったりします。なんで、そんなところに時間をかけるんだよう。

で、そうこうしているうちにわかばマークのMacの備忘録さんは、さらにバージョンアップしたものを公開していたり...。

通常、ここで簡単にスクリプトの説明等をしておくのがいいのでしょうが、先にも書いたように Read Me に時間をかけてしまったため、もう気力がないです。

Read Me を読んでください。

Charan's Finder Toolbar Scripts

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 を思い浮かべるのは私だけでしょうか?