ひよこwebプログラマーの覚え書き

エクセルとwebで効率化しますさせます

*

イラストレーターでjavascriptを使う

      2015/01/26

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として保存する時

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

 - Illustrator, javascript

Message

メールアドレスが公開されることはありません。

  関連記事

javascriptで全ての外部リンクにイベントトラッキングを付ける

まずはコードから [crayon-58b1a94f972e0253981350/ …

イラストレーターで改行した文字を装飾したい時

イラストレーターの文字に関するアピアランスの話です。 イラストレーターで改行した …

jQueryでselect要素、option要素の中からテキスト・文字列で選択する方法

例としてこんなselect要素、option要素があるとします。そして青森を選択 …

javascriptで配列・オブジェクトの判定

返り値はboo …

イラストレーターのjavascriptマクロでテキストを全てアウトライン化

createOutline()を使います。 元々のテキストは消えるので、必要な場 …

jQueryを強制的に読み込ませる方法

コンソールからJSを走らせる時、jQueryが無い場合があります。 そこで一旦j …

no image
jsで連番のページを一気に開く

1から10までのページを一気に開きます。 1000ページ指定しても普通に動作して …

Illustrator CS6でjavascriptを使う方法

Illustratorでマクロを使う方法。 大きく分けて「アクション」と「スクリ …

jQueryでクリックしたことにする

フォームに文字を入力する時「input要素をクリックする動作」を検知するサイトが …

Illustrator(イラストレーター)で簡単に表を作成する

エクセルで表を作り、コピーして貼り付け、それだけでできます。 まずは表を作ります …