OmniGraffleの絵を各種フォーマットに変換するドロップレット
OmniGraffleというのは,Macを買うと無料でバンドルされてくるお絵描きソフト。WindowsでいうところのVisioのようなソフトであるが,これがとても使いやすくて気に入っている。OmniGraffleで描いた絵は,メニューから各種フォーマットへエクスポートすることが可能なのだが,スライドや文書の執筆のために何十枚とストックが溜まってくると,これを一気にバッチ処理したくなることがある。何とか,自動化する術は無いものかと探してみたところ,AppleScriptで実現可能であることが分かった。
on open drop_items tell application "OmniGraffle" set num_items to count drop_items repeat with i from 1 to num_items set obj to item i of drop_items set png to (obj as text) & ".png" set pdf to (obj as text) & ".pdf" open obj save the first document in file png save the first document in file pdf close the first document end repeat end tell end open
このスクリプトをAppleScriptエディタで編集して,アプリケーションとして保存すればOK。後は,作成したアプリケーションに.graffleファイルをドロップするだけで「ファイル名 + (.pdf|.png)」を作成してくれる(複数投入可能)。OmniGraffleのエクスポート機能が対応しているフォーマットであれば,拡張子を変えるだけで他の形式のファイルも書き出せるはず。AppleScript的にもっとスマートなやり方があるのかも知れないけれど,コピペコーディングではこれが精一杯。