43
Snow Leopardでサービスを作成する方法

Snow Leopardのサービスについての記事で述べたように、この刷新された機能はMac OS X 10.6の隠れた魅力の一つだと思います。サービスメニューに表示される内容を制御できるようになったのは嬉しい変更点ですが、真の真価は、独自のサービスを作成したり、他の人が作成したサービスをダウンロードしたりできる点です。

Automatorを使ってシンプルなサービスを作成する手順を解説します。プログラマーでなくても、AppleScriptなんて歯医者の根管治療より怖いと思っていても、このチュートリアルに従えば何も怖くなくなるはずです。

最後には、実際に機能するサービスが完成し、(願わくば)独自のサービス作成に挑戦するのに十分な知識も身に付くでしょう。少なくとも、シンプルなサービスがいかに簡単に作成できるかを実感できるはずです。

このチュートリアルでは、Finderで選択した1つまたは複数のPDFからテキストを抽出するサービスを作成することにしました。抽出されたテキストは新しいテキストファイルに保存され、名前が変更された後、移動されます。これらの機能はすべて数分で作成でき、Finderのコンテキストメニューまたはキーボードショートカットから使用できます。

当然ですが、このチュートリアルはOS X 10.6をご利用の方のみを対象としています。サービスでテストするためのPDFファイルと、作成するテキストファイルを保存するのに十分な空き容量が必要です。もし十分な空き容量がなければ、このチュートリアルを実行できないという問題よりもはるかに大きな問題に直面することになります。

ちなみに、このチュートリアルのビデオ版(3:15、11.6MB)も作成しました。現在レビュー中のCamtasia for Macの学習用としてお使いいただけます。ビデオ版をご覧になりたい方は、上記のリンクをクリックしてください。ビデオ版はこのバージョンと若干異なりますが、同じテキスト抽出サービスを作成します。

サービスを構築する

まず、Automator(アプリケーション内)を起動します。新しいウィンドウが開き、ドロップダウンシートにいくつかのワークフローテンプレートが表示されます。「サービス」を選択し、「選択」をクリックします。

すると(ほぼ)空白のテンプレートが開きます。OS X 10.5でAutomatorを使ったことがある方なら、見覚えのある画面でしょう。しかし、画面上部に、2つのポップアップメニューとチェックボックスが並んだ細いセクションがあります。このセクションは、サービスが扱う情報の種類、サービスが動作するアプリケーション、そして選択したテキストを置き換えるかどうかを定義するために使われます。

画像
Automatorの新しいサービス定義ストリップは、各サービスワークフローの上部に表示されます。

最初のポップアップメニューをクリックし、PDFファイルを選択します。これは、これから操作するファイルの種類です。2番目のポップアップメニューをクリックし、Finderを選択します。これは、サービスがアクティブ化される場所です。テキストを選択していないため、チェックボックスはクリックできません。

いよいよ実際のサービスを作成します。サービスは1つ以上のファイルを選択した後にのみ起動されるため、操作対象となるファイルを見つけるための作業は必要ありません。ファイルはサービスの起動時に渡されます。

画像
PDFからテキストを抽出する

ファイルが既にサービスに登録されている場合、最初のステップはライブラリ列でPDFエントリを選択し、「PDFテキスト抽出」アクションを右側の作業領域にドラッグすることです。これは、選択したPDFから実際にテキストを抽出するアクションです。

このアクションのオプションはお好みに合わせて設定してください。私はプレーンテキスト出力を使用し、ページヘッダーを追加しました。出力先はデスクトップ(後でファイルを移動するため)に設定し、出力ファイル名は入力ファイル名と同じにしました(ただし拡張子は異なるため、競合は発生しません)。

画像
ファイル名を変更する

テキストを抽出したら、次はファイルの名前を変更します。ライブラリ列で「ファイルとフォルダ」を選択し、「Finder項目の名前を変更」を右側の作業領域(既存の「PDFを抽出」アクションの下)にドラッグします。

ワークフローをドロップすると、名前を変更する前にアイテムをコピーするかどうかを尋ねるダイアログが表示されます。作成したばかりのファイル(簡単に再作成できます)の名前を変更するため、コピーを作成する必要はありません。「追加しない」をクリックしてください。

必要に応じてアクションを変更してください。私の場合は、ファイル名の先頭に作成日を追加し、先頭にゼロを追加し、区切り文字を少し変更しました。最終的な結果は、アルファベット順で表示した場合でも、作成日で自動的に並べ替えられる一連のファイルになります。

画像
ファイルを移動する

名前を変更したら、最後のステップはファイルを最終的な保存先に移動することです。私の場合は、デスクトップの「_Extracted PDFs」というフォルダに移動しました。

ライブラリの「ファイルとフォルダ」列で、「Finder項目を移動」アクションをワークフローの一番下までドラッグします。「保存先」ポップアップメニューをクリックし、ファイルの保存先となるフォルダを選択します。定義済みの保存先にない場合は「その他」を選択します。保存先フォルダを一度クリックし、「選択」ボタンをクリックして、そのフォルダを保存先として設定します。

サービスの使い方はこれで完了です。PDFからテキストを抽出し、抽出したファイルの名前を変更して、最終的な保存先へ移動するまでの手順は、たった3ステップです。「ファイル」→「保存」を選択し、新しいサービスに覚えやすい名前(例えば「PDFからテキストを抽出」)を付けて、「保存」をクリックします。

サービスの利用

サービスを作成したら、使い方は至ってシンプルです。FinderでPDFファイルを1つ以上選択し、Controlキーを押しながらクリックしてコンテキストメニューを表示します。コンテキストメニューの一番下までスクロールし、「サービス」→「PDFからテキストを抽出」(またはサービス名)を選択します。

画像
PDFから作成されたテキストファイル

1~2秒(大きなPDFを選択した場合はそれ以上)待ってから、選択したフォルダに移動します。選択したPDFごとに1つのテキストファイルがあり、各ファイルにはそのPDFのテキストが含まれています。

これは非常に単純な例ですが、Snow Leopard のサービスで何ができるのかがわかっていただければ幸いです。

独自のサービスを作成できる、あるいは他の人が配布可能なサービスを作成できるということは、繰り返し行うタスクを支援するツールが豊富に利用できることを意味します。個人的には、確実に開発が進んでいる「Macworldブログ記事を毎週書く」サービスに注目しています。ただし、それが実現するまでは、自分で書き続けるつもりです。