このページの本文へ

PROGRAMMING 古籏一浩のJavaScriptラボ第9回

Illustrator×JavaScriptで百ます計算を自動生成

2009年08月31日 15時00分更新

古籏一浩

  • この記事をはてなブックマークに追加
本文印刷

※この記事は、「IllustratorもJavaScriptで自由自在に!」の続きです。前回の記事も合わせてご覧ください。連載インデックスはこちら。

Illustrator

 Adobe IllustratorをJavaScriptで制御すれば、表組みのような面倒な処理を自動化できます。前回は「百ます計算表」を課題に、新規ドキュメントの作成から表のマス目を作成する方法までを説明しました。今回は、マス目の中に文字を配置し、百ます計算表を完成させます。


ドキュメント上にシンプルに文字を表示する

 Illustratorで文字を表示する方法は、(1)特定のパスの内側に表示(エリア内文字)、(2)パス上に沿って表示(パス上文字)、(3)パスの制限のない表示(ポイント文字)――の3つがあります。今回は(3)の方法を使います。

 ドキュメント上に文字を表示するには、テキストフレームオブジェクトを作成し、contentsプロパティに表示したい文字を設定します。テキストフレームの作成は、作成したいドキュメントに対して textFrames.add() を使います。アクティブなレイヤーにテキストフレームを追加して文字を表示する場合、以下のようになります。


var textFrameObj = activeDocument.activeLayer.textFrames.add();
textFrameObj.contents = "イラストレータで文字表示";


 なお、今回のようにテキストフレームを作成する対象がアクティブレイヤーに決まっている場合は、以下の例のように、activeLayerは省略できます。


var textFrameObj = activeDocument.textFrames.add();
textFrameObj.contents = "イラストレータで文字表示";


 ここまでをまとめたのがサンプル01です。実行すると、ドキュメントの原点(左下)を起点として文字が表示されます。

fig1-1.png
ドキュメント上の原点に文字が表示されます

●サンプル01のソースコード


var doc = app.documents.add(DocumentColorSpace.RGB, 595.28, 841.89);
var textFrameObj = activeDocument.textFrames.add();
textFrameObj.contents = "イラストレータで文字表示";


 新規にドキュメントを作成した場合は、以下のようにドキュメントオブジェクトを指定できますが、Illustratorではドキュメントがアクティブでないと正しく処理できない場合があります。念のため、activeDocument を使いましょう。


var doc = app.documents.add(DocumentColorSpace.RGB, 595.28, 841.89);
var textFrameObj = doc.textFrames.add();
textFrameObj.contents = "イラストレータで文字表示";

Web Professionalトップページバナー

この記事の編集者は以下の記事をオススメしています

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く