イラストレーターでjavascriptを使う | 15g.jp

Pocket

イラストレーターではjavascriptを使ってスクリプトを組めます。
しかしhtmlに対して使うjavascriptとは少々使い勝手は変わります。
リファレンスはこちらから。英語ですが、慣れれば何とかなります。
http://www.adobe.com/jp/devnet/illustrator/scripting.html

appがrootになり、そのプロパティやメソッドを使って色々な処理をしていきます。

ドキュメントの名前を取得

例えばドキュメントの名前を取得するには

となります。

ではエラーになります。

アートボードを処理する場合も

このようにある程度のオブジェクトを変数に格納しながらコーディングすると書きやすく、見やすくなります。

座標軸

左右はx軸。右に行くほど数値が大きくなる。
上下のy軸は注意。下に行くほど数値が小さくなる。(Illustratorでは下に行くほど数値が大きくなる)
なぜ逆になっているかはよく分かりません。
heightはそんなことはなく、大きくすれば下に伸びていきます。

四角形を書く

引数はtop,left,width,heightの順。

パスを移動させる

こんな感じ。x,yで指定。下に行くほどyの数値は小さくなります。

アートボードを整理

アートボードを一枚追加、それ以外を消す場合の処理。全部消そうとするとエラーになります。

アートボードを追加する時

この時気を付けなくてはいけないのが視点は必ず左上で、終点は右下になること。y座標はマイナスほど下になります。

また、forループの時、最大数から初めてデクリメントすること。
for(var i = 0; i <= artboardslength; i ++){
ではなく、
for(var i = (artboardslength – 1); i >= 0; i –){
とする。
なぜなら、
artboards[0],artboards[1],artboards[2]
と3つある場合
artboards[1].remove();
としても
artboards[0],artboards[2]
にはならず、
artboards[0],artboards[1]
となる。remove()した瞬間に0開始のインデックスに置き換えられるようだ。

PDFとして保存する時

関数を定義しておき、実行