🐕

Adobe Illustratorのスクリプトを作る方法

2022/12/05に公開

本記事は、Life is Tech ! Kansai Advent Calendar 2022の5日目の記事です。

はじめに

イラストレーターを使う中で、毎回することが同じ作業やテンプレートファイルを元に作る作業があると思います!そんな作業をスクリプトで自動化できちゃうのが、"スクリプト"です!

環境構築

環境構築をする

以下のものをパソコンにインストールしてください!

動作確認をする

早速、動作確認をしてみましょう!

  1. Adobe Illustrator を起動して適当なファイルを開く
  2. VSCode を開いて、alert.jsxというファイルを作成する
  3. alert.jsxに以下のコマンドを書いてみる。
alert("Hello World!");

VSCode で、Command + Shift + Pでコマンドパレットを開き、Adobe Illustratorと検索し実行します。
下の画像のようになれば成功です!!

簡単なスクリプトを作ってみる

今回は、「任意の文字にテキストを変更するスクリプト」を作ってみましょう!
すでに配置されているテキストの文字を、ユーザーが入力した文字に変えるものです。

ウィンドウを表示する

いわゆるポップアップ的なやつです。
座標の指定が全て左上と右下の XY 座標の指定で行われているので、計算しながら設計していきます。

// ウィンドウをつくる
var win = new Window("palette", "任意の文字にテキストを変更するスクリプト", [200, 150, 480, 250]);

// 文字をウィンドウ上に表示する
win.add("statictext", [10, 10, 270, 25], "変更したい文字");

// 入力欄をつくる
var textValue = win.add("edittext", [10, 30, 270, 55], "");

// ボタンをつくる
var okButton = win.add("button", [150, 70, 220, 90], "実行");
var cancelButton = win.add("button", [60, 70, 140, 90], "閉じる");

win.show();

上のコードが書けたら、Command + Shift + Pでコマンドパレットを開き、Adobe Illustratorと検索し実行します。
下の写真のようなポップアップが出れば OK です。(ボタンを押してもまだ何も反応しません!)

ボタンに動作を付け加える

次は、ボタンに動作を付け加えていきます。

"閉じる"ボタンは、ウィンドウを閉じるだけなので下のコードで OK

cancelButton.onClick = function () {
  win.close(true);
};

"実行"ボタンは、以下のような処理をしていきます。

  1. 入力から文字列を取得
  2. 編集する TextFrame(イラレでは、テキストの入力するアレをこう呼びます)を選択
  3. 2 で選択した Frame に 1 で取得した文字列を入れる
  4. 1〜3 の動作を実行ボタンを押したときに作動させる

1~3 までの動作のコード

function editText() {
  const text = textValue.text;
  var textFrame = app.activeDocument.textFrames[0]; // アクティブなドキュメント内にある最初のTextFrameを取得
  textFrame.contents = text; // TextFrameの文字列を変える
}

4 のコード

okButton.onClick = function () {
  var bt = new BridgeTalk();
  bt.target = "illustrator"; // 動作対象を設定
  bt.body = "editText();"; // 動かすスクリプトを文字列で設定
  bt.onResult = function (inBT) { // 実行時に何かが返される場合の結果
    result = eval(inBT.body);
  };
  bt.onError = function (inBT) { // 実行時にエラーが出る場合
    alert(inBT.body);
  };
  bt.send(10); // コマンドの送信とタイムアウトする秒数の設定
  win.close(true); // 処理が終わったので、ウィンドウを閉じる
};

ここで、実行すると下の写真のようになるかなと思います!

まとめ

この記事では、スクリプトを使ったAdobe Illustratorの使い方を紹介しました!
スクリプトを作り込むと名刺を自動生成できたりと結構便利なので、ぜひぜひ挑戦してみてください!

https://github.com/penguin4731/illustrator-scripts

Discussion