タグ: PDF

Adobe PDFとして保存—3(補足or蛇足?)

■iKey2でもマクロを作ってみる
Keyboard Maestro 6でプリントダイアログから「Save as Adobe PDF.app」を呼び出すマクロを紹介しましたが、これをiKey2でやってみると図のようになります。(ここではファイル保存ステップまでは表示できていません)

iKey

マウスのクリックとドラッグをシミュレーションするしかないようなのですが、ウィンドウのTop/Leftからの座標で追いかけますので、ポップアップメニューの座標を取るのが少々厄介です。
また、「Pause(Wait)」に関してもKeyboard Maestro 6の方がスマートで確実性が高いようです。
iKeyはYoupiKeyと呼ばれていた初期バージョンから使ってきましたので、現在の停滞状況が何か寂しい気がします。
Keyboard Maestro 6に切り替えてから、ホットキーを新しく設定することが楽しみになってきて、KeyQuencerの時代の登録数に並ぶくらいの数になってきました。現時点でマクロ数76です。

広告

Adobe PDFとして保存—2

ホットキー(キーボードショートカット)ユーティリティというエントリ<http://wp.me/p1Cs3W-5l>で書きましたが、10.9 Mavericks環境でのキーボードショートカットユーティリティの選択で迷っていました。
OfficeドキュメントをAdobe PDFとして保存する際に、プリントダイアログから「Adobe PDF として保存」アプリケーションを呼び出す際に、毎回マウスをドラッグしてポップアップメニューから実行するのは面倒です。これをホットキーで実行できれば、さらにこのホットキーアクションをマクロに組み込めそうです。
そこで、なにを使うかという点で迷っていた訳です。
ここ<http://wp.me/p1Cs3W-5l>で挙げた候補の中から考えてみると、マウスシミュレーション機能とキーボードシミュレーション機能をもったものを拾い上げると、ikey2、Keyboard Maestro6、QuicKeys4の3つに絞られることになります。
調べてみると、QuicKeys4は2009年から更新がありません。iKey2も2011年の2.5.2以降更新が滞っています。現在、OSのアップデートに合わせてアクティブに更新が継続しているのはKeyboard Maestroだけだということに気がつきました。迷う必要はなかったのですね。

使い始めてみると、複数のシーケンスコントロールやメニューへのアクセス、ウィンドウコントロール、クリップボード操作など、機能も充実していてiKeyよりもレスポンスもいいです。

■プリントダイアログで「Save as Adobe PDF.app」を呼び出す
PowerPoint.appから呼び出す場合のマクロです。

2014-01-14 9.20.54

「Pause…」アクションが時間だけでなくウィンドウやアプリケーションウィンドウ、ダイアログなどの状況に合わせられる点が優秀です。「PDF」ボタンをクリックは図のように「Press Button」アクションでなくロケーションクリックでもOKでしょう。
「Save as Adobe PDF.app」を呼び出すところもマウスドラッグ指定でもOKでしょうが、ここは無骨に「↓」キーで確定しています。
このマクロではなんと言っても「Pause Until Condition Met」アクションが機能することが肝でしょう。
このマクロをシーケンスに組み込んで繰り返し実行する際には、「Pause…」アクションが時間指定でしか実行できなかった場合、PowerPoint.appやSave as Adobe PDF.appの反応時間の変動やファイルサイズによるウィンドウの展開などで誤動作が起きる率が跳ね上がります。

■ワークフローに組み込んでみる
Automatorを使って、Finder上でPowerPointドキュメントを選択した状態で実行するワークフローを作ってみました。

2014-01-14 9.37.11

Keyboard Maestroのいいところとして、AppleScriptからマクロ名でマクロを実行できる点が挙げられます。

連続で処理するドキュメントの数やマシンスピードなどによってスクリプト内の「delay」のタイミング調整が必要でしょうが、試してみたところエラーなく動作しました。

Keyboard Maestroは現行バージョンにおいても機能拡張がなされていて、未だ発展途上という楽しみなユーティリティです。

Adobe PDFとして保存—1

先日のエントリ<http://wp.me/p1Cs3W-7P>で、OfficeドキュメントをPDFファイルに変換するワークフローについて書きましたが、この際に使ったアクションでは、カラープロファイルや解像度を指定することができませんでした。
Adobe PDFへの書き出しという方法がとれればこれは解決する問題でしょう。
そこで、Automatorでアクションを探すと、「Adobe PDFとして保存」という名前のアクションが見つかったのですが、図のようにエラーが発生してアクションを適用できません。

1

調べてみると、OS X 10.6の頃からの症状のようで<http://helpx.adobe.com/jp/acrobat/kb/cpsid_88735.html>、“Mac OS X 10.6 上の Automator は 64 ビットアプリケーションのため、32 ビットバイナリの [Adobe PDF として保存] ワークフローは使用できません。”などといったことのようです。
現在、私の環境は10.9 Mavericksです。
このページの“解決方法”のようにAutomatorを32bitモードで起動することもできません。
(OS X 10.6上のAutomatorを32bitモードで起動してワークフローを作ってみましたが、10.9に持って来ると「.workflow」ファイルではやはりアクションの読み込みでエラーが発生します。アプリケーション形式で保存した場合は立ち上がるのですが、期待した処理をしないまま終了します)

2014-01-10 8.23.07アクションを諦めて、‘/Library/PDF Services/Save as Adobe PDF.app’をワークフローに組み込めないかと思ってやってみたのですが、これも「Adobe PDFとして保存」という名前のアクションと同じで、10.9環境ではワークフローに組み込むことができませんでした。
この‘/Library/PDF Services/Save as Adobe PDF.app’は、プリントダイアログ内の「PDF」ボタンからポップアップするメニューからアクセスする以外の使い方はできないようです。
つまり、プリントダイアログから呼び出すことで処理対象を引き渡せる訳で、それ以外の方法で‘Save as Adobe PDF.app’に対象を渡す手段がなさそうだということです。
この「PDF」ボタンからポップアップメニューを毎回マウスで選択するというのも難儀な話です。

2

■「Save as Adobe PDF」へアクセスする方法
このプリントダイアログを介して、「Save as Adobe PDF」へアクセスする方法としては、

  • AppleScriptでUI Elementsを介して「PDF」ボタンから「Save as Adobe PDF」へアクセスする
  • キーボードショートカットユーティリティを使って、「PDF」ボタンから「Save as Adobe PDF」へアクセスする

といったことが考えられますが、AppleScriptでUI Elementsをコントロールするというのは、メニューバーからメニューアイテムくらいはなんとかなりますが、ポップアップボタンのアイテムなどになると信頼できる経験が思い浮かびません。単発でのマクロとしては動作しても、連続して複数回運転するには、処理速度がランダムに変動してそのうちイベントを取りこぼすというのが簡単に想像できて、ここでは考えたくない手段です。
従って、キーボードショートカットユーティリティを使うことになりそうなのですが、さて、なにを選ぶといいのか、思案のしどころです。