Illustrator 10でシリアル番号をつけて印刷

 コンサートなどのチケット、食事券、製品番号などで、シリアル番号をつけたい事があります。手書きだと綺麗じゃないし大変です。専用のもの(スタンプ)もありますが、JavaScriptを使えば簡単にシリアル番号をつけて印刷することができます。まずはIllustrator 10の場合のスクリプトです。

 と、その前にIllustratorのデータに細工をしておく必要があります。その細工とはシリアル番号をつけるためのレイヤーを作成し、serialというレイヤー名をつけます。次に、そのレイヤーにテキストを入力しサイズやフォントなどを設定します。これで準備OKです。
 準備ができたら安全のため一度用紙設定を確認しておきます。以下のスクリプトでは印刷ダイアログを出さないようにしているので、一度印刷しておくと良いかもしれません。

epsOpt = new EPSSaveOptions();
epsOpt.compatibility = Compatibility.ILLUSTRATOR10;
saveFile = new File("/temp.eps");
docObj = activeDocument;
startNo = 1;
endNo = 3;
for (i=startNo; i<=endNo; i++)
{
docObj.layers["serial"].textArtItems[0].contents = i;
docObj.saveAs(saveFile, epsOpt);
docObj.print(false);
}
saveFile.remove();


 シリアルの開始番号は5行目の「startNo = 1;」の1を変更します。終了番号は6行目の「endNo = 3;」の3を変更します。このスクリプトを実行するには上記のスクリプトをserial.jsといったファイル名で保存してからIllustrator 10のファイルメニューから「スクリプト」→「参照...」で保存したファイルを選択します。自動的にシリアル値が設定され印刷されます。毎回印刷ダイアログを出したい場合には以下のようにfalseをtrueにします。

docObj.print(false);
   ↓
docObj.print(true);

 1枚の紙に1つだけのチケットということは、あまりないでしょう。だいたい、複数まとめて印刷するのが常です。このような場合には以下のようなスクリプトになります。

epsOpt = new EPSSaveOptions();
epsOpt.compatibility = Compatibility.ILLUSTRATOR10;
saveFile = new File("/temp.eps");
docObj = activeDocument;
startNo = 1;
endNo = 20;
step = 10;
for (i=startNo; i<=endNo; i+=step)
{
for (j=0; j<step; j++)
{
docObj.layers["serial"+(j+1)].textArtItems[0].contents = i+j;
}
docObj.saveAs(saveFile, epsOpt);
docObj.print(false);
}
saveFile.remove();


 1枚の紙にいくつシリアルを付けるかを指定しているのがstep = 10;です。10の場合1枚の紙に10シリアルを付けるという事になります。そして、重要な事としてシリアルを付けるレイヤーを設定しておく必要があります。最初のものはレイヤー名をserialにしていましたが、複数枚の場合は

serial1
serial2
serial3
serial4
serial5
serial6
serial7
serial8
serial9
serial10

 のようにレイヤー名を付けて下さい。これさえ間違えなければ、Illustrator 10で簡単にシリアル番号の印刷を行うことができます。サイズやフォントなどは自由に設定できるので便利じゃないかと思います。



[サンプルをダウンロード]