はじめに
こんにちは、イメージ・マジックのもあいです。今回は直近で作業をしていた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");
最後に
小数点以下の値を無視すると痛い目に遭いました。一生プログラマ、一生技術者
技術は覚えるのが目的ではなく、使ってなんぼ。
知識も同様に覚えるだけじゃ意味が無い。