Illustratorスクリプトあれこれ その2

はじめに

こんにちは、イメージ・マジックのもあいです。

今回は直近で作業をしていたIllustratorスクリプトの備忘録になります。

アートボードサイズと画像のサイズを一致させたかったが・・・ずれた

Illustratorのアートボードとそこに配置する画像のサイズを一致させる方法を、最初はサーバ側でImageMagickのIdentifyコマンドでピクセル数を求めてから加工に必要なDPIを使ってmm単位で算出していました。1259pxで200DPIですと159.893mmとなるので、切り上げて160mmとなります。この値をIllustratorでdocumtns.addの引数として渡していたのですが、アートボードのサイズと画像サイズが微妙にずれることが発覚しました。

原因としては、小数点を切り上げてしまったことが原因でした。

そもそも

Illustratorスクリプトでアートボードのサイズと画像のサイズを一致させるための操作方法は、「オブジェクト」→「アートボード」→「オブジェクト全体に会わせる」を選択する必要があるのですが、この操作をアクションで記録できなかったので、アートボードのサイズを指定するときに画像の大きさ(mm)を指定していました。
ですが、それがうまくいかない場合があるのが今回のパターンでした。

executeCommandMenu

Illustratorスクリプトにはドキュメントに記載が無い(少なくとも見つけられませんでした)executeCommandMenuというものがあり、この機能を使うことによりアクションで記録できない機能も実行することが可能になります。
今回の場合の具体的なコードですが

app.executeMenuCommand("Fit Artboard to artwork bounds");

となりました。この呼び出しだけでサーバ側の算出処理が不要になりました。

最後に

小数点以下の値を無視すると痛い目に遭いました。