Illustratorで、たくさんのアートボードを自動で作るスクリプト(2)

Author :

※長いので2ページに分けてあります。
ここまでの経緯&そもそもイラレのスクリプトの作り方は?はこちら→

イラストレーター、スクリプト、自動化 アートボードを作るAdobe® Illustrator®は、Javascriptなどのプログラミングで自動化できます。
たくさんのアートボードを手入力で作るのが面倒なので、あらかじめCSVでリストアップして自動化してしまおう、というプログラムのお話です。

前のページからのつづきです。

スクリプトの中身解説

スクリプトの中身は、だいたいこういう流れになっています。

ファイルダイヤログを開いて、CSVファイルを選んでもらう

(*)一行ずつ、図版名・横寸・縦寸を読み取る

(A) 座標を計算して、アートボードをつくる

(B) ついでに、図版の名前をテキスト入力してアートボードの近くに置く

(*)に戻って以下ループ…

以下、ポイントだけ説明します。

(A)アートボードをつくる

アートボードを作る命令は、これです。

newBoard = docRef.artboards.add ([locA, locB, locC, locD]);

[locA, locB, locC, locD]は、アートボードの座標です。

ちょいとややこしいのですが、座標の関係はこのようになっています。
[locA, locB, locC, locD] = [左端のX座標, 上端のY座標, 右端のX座標, 下端のY座標]

イラレ スクリプト アートボード 座標の説明

つまり、
C-A=横寸
D-B=縦寸
という関係になっています。

ふだんイラレをお使いの方には分かると思いますが、いつもは上への移動がマイナス数値ですね。でもここでのY軸は逆、です。原点(0の位置)は同じですが、下がマイナス数値です。混乱してしまいやすい感じなので、注意してください。

もうひとつの注意点は、単位がポイントであること。ミリ単位でリストアップしてある場合は変換が必要です。
1mm = 2.834645pt
で計算できます。

そして、

newBoard.name = nameHoge;

でアートボードに名前を付けられます。

今回はA4のシート内にお行儀よく並べたいので、そのあたりの計算を加えました。ループごとに縦寸を足していって、その数値が294mmを超えるときに右への座標を足し、縦の座標を上へ戻す、という感じのことをしてます。

(B)テキストを入力して、アートボードの近くに置く

テキストオブジェクトを置く命令は、これです。

textRef = docRef.textFrames.add();

あとは、属性を指示していくだけです。

textRef.position = [locLeft, locTop];//位置を左上端の座標で指示する
textRef.contents = nameHoge;//テキストの内容を入力
textRef.textRange.size = 12;//テキストのサイズ(pt)

今回はアートボードを作ったときに計算した座標を利用して、そこから文字の大きさ分だけ戻した位置にセットしました。

まとめ

以上、プログラムとしてはあまり難しいものではありません。これで毎回1時間以上かかる作業がなくなりますから、今回は少し時間がかかってでも作ってよかった!というわけです。

サンプルスクリプトをダウンロードできるようにしておきました
A4サイズシートを並べた.aiファイルと、CSVファイルのサンプルもいっしょに入ってます。

イラレ・アートボード自動作成スクリプトダウンロード無料ダウンロードはこちら

スクリプトのプリセットフォルダに入れておいてメニューから選ぶか、あるいは任意の場所に置いておいて「その他のスクリプト」で指定すれば使えます。

イラレスクリプトの使い方

尚、制作環境は次のとおりです。

  • Mac OS X 10.6 Snow Leopard
  • Adobe® Illustrator® CS5

参考サイト

Illustrator Scripting
http://www.adobe.com/devnet/illustrator/scripting.html
Adobeの公式っぽいスクリプトガイド。リファレンス的な文書が置いてあります。
イラレでべんり
いろんなイラレ自動化スクリプトが置いてあります。
Rubyist Magazine – Win32OLE 活用法【第4回】Adobe Illustrator
テキストの入力や座標の指定など参考になりました。

はまったところ:

an Illustrator error occurred: 1346458189 (‘MRAP’)

というエラーが出て困った。どうやら、四角形の座標の整合性が取れてなかったりすると出るようです。例えば私の場合は、計算ミスで「右端のX座標 < 左端のX座標」になっちゃったりしてました。

※長いので2ページに分けてあります。
ここまでの経緯&そもそもイラレのスクリプトの作り方は?はこちら→


イラレご質問受付中

「Adobe Illustratorでこういうものってどう描くの?」という疑問をお問い合せフォームからお寄せください。時間ができたら当ブログで解説記事を書いてみます!(個別にお返事はできません)

イラレ本執筆しました

当ブログの人気記事「ドット柄パターンスウォッチの作り方」「世界一簡単な雲の描き方」「遠近グリッド」も載ってる、イラレTipsがたくさん詰まった本ができました!
特にIllustrator初心者やキャリアの浅いデザイナーさんは持ってて損はない一冊です。ぜひお買い求めください。Kindle版もあるよ。

Illustratorおいしいネタ事典(翔泳社)[→くわしくはこちら]


Notice: _usort_terms_by_ID の使用はバージョン 4.7.0 から非推奨になっています ! 代わりに wp_list_sort を使ってください。 in /home/users/2/lolipop.jp-dp30062756/web/blog/wp-includes/functions.php on line 3831