Illustratorの「ドキュメントを SVG として保存.jsx」をちょっと改造して「ドキュメントを PNG として保存.jsx」にする

 印刷用のIllustratorドキュメントをWeb用(とかEPUB用)にPNGフォーマットへ変換したい時ってあります。ひとつづつドキュメントを開いて、「Webおよびデバイス用に保存」ダイアログを出し、プリセットを選んで変更し、名前を付けて保存... って数百点もやってられっか! と泣きながら作業している人も多いでしょう。
 Illustratorの「ファイル」メニューの「スクリプト」-「ドキュメントを SVG として保存」ってのはあるんだけどなー、と思った人もいるかもしれません。それ、ちょっと改造するとPNG書出しもできる子になりますよ! というお話。初めての人向きにステップバイステップで説明してみます。
 この「ドキュメントを SVG として保存」のスクリプトそのものはどこにあるかというと、Mac環境だとたいてい「/Applications/Adobe Illustrator CS5/Presets.localized/ja_JP/スクリプト/ドキュメントを SVG として保存.jsx」にあります。このファイルを複製して「ドキュメントを PNG として保存.jsx」と名前をつけておいてください。
f:id:seuzo:20120308221810p:image
 複製したファイルをExtendScript Toolkitで開くとこんな感じになっているはずです。
f:id:seuzo:20120308222728p:image
 左上の対象アプリケーションのポップアップを「Adobe Illustrator CS5」に直して、さあカイゾーだ!@|@

(1)ダイアログの文字列を変更する

 書出し用の保存フォルダを選択するダイアログと、最後の作業完了ダイアログに「SVG」という文字が出てきます。完全に見た目の問題ですが、気分が悪いので、さっさと変えちゃいましょう。
 31行目と52行目にある「SVG」という文字を「PNG」に変更します。
f:id:seuzo:20120308235420p:image
 これらを変更することで、ダイアログ内の文字が変更されるようになります。
f:id:seuzo:20120308235256p:image

(2)保存拡張子の変更

 保存する時に自動で「.png」拡張子をつけるようにします。44行目の「.svg」を「.png」に変更してください。
f:id:seuzo:20120308225732p:image

(3)書出しタイプの変更

 書出しタイプをSVGからPNG24に変更します。47行目の「ExportType.SVG」を「ExportType.PNG24」に変更します。
f:id:seuzo:20120308230204p:image
 ちなみに、ExportTypeは他にも「JPEG」や「GIF」「PHOTOSHOP」なども選べます。詳しくはExtendScript Toolkitのオブジェクトモデルビューアで確認してください。
f:id:seuzo:20120308230430p:image

(4)オプションを指定

 PNG24の書出しオプションをいくつか設定します。67行目の「function」から82行目の「}」までをざっくり下記と入れ替えてください。

function getOptions()
{
	// Create the required options object
	var options = new ExportOptionsPNG24();
    
    options.antiAliasing = true;//アンチエイリアス処理
    options.artBoardClipping = false;//オブジェクトのみ
    options.horizontalScale = 200;//200%拡大
    options.verticalScale = 200;//200%拡大
    	
	return options;
}

f:id:seuzo:20120308231044p:image
 原寸で印刷用に描かれたイラストは、Webブラウザなどで見るとけっこう小さく見えてしまいます。文字なども含まれるでしょうから、ここでは200%拡大で書き出しています。
 ちなみにPNG24の他の設定については、オブジェクトモデルビューアで確認できます。
f:id:seuzo:20120308231506p:image

(5)バグの修正

 SVG書出しの場合はこれで終わりなのですが、PNG書出しでは、なぜかうまく書き出されません。書き出すドキュメントが最前面にないと、同じものを書き出してしまうバグがあるようです(舌打ちっ
 42行目に1行追加してください。

sourceDoc.activate();

f:id:seuzo:20120308232227p:image

(6)テスト

 じゃあ動かしてみましょう! 改造したスクリプトを保存し、書出しをしたい複数のドキュメントを開いてください。ExtendScript Toolkitから直接動かしてもいいですし、Illustratorを再起動させれば、メニューからアクセスできるようになっているはずです。


 スクリプトに馴れてくると、いちいちダイアログなしで閉じられたらいいなーとか、ソース元フォルダを指定するだけで.ai拡張子をもつファイルだけ処理してくれるようになったらいいなーとか、いろいろヨッキューが高まってくるかもしれません。まあ、そういうリビドーを感じればしめしめ...