illustratorでナンバリング(差し込み印刷)をした時の覚書
illustratorでナンバリング(差し込み?)印刷の覚え書き
illustratorで連番の入ったチケットを作成する必要があったので、その時の覚書を紹介します。
「EXCELなどのソフトを使ってXMLを…」と紹介されているサイトがいくつかあったのですが…なんかEXCELの便利機能で勝手にセルが分割されたり、文字列置き換えられたり…。
EXCELを乗りこなせないので、ゼロからXMLを生成するツールを作っちゃえ、という事でツールを作ってみました。
ただ、この方法で印刷屋さんが対応してくれるかどうかはわかりません。
プリントパックなど、ネット印刷などでは連番を付ける場合にはそれぞれの厳密なルールに従う必要があるようですので、相談してみてください(オンデマンドならもしかして?)。
私の場合は、ほとんどDIY。A4の紙1枚にチケットを10丁つけて、200枚程度(番号の最後は2000弱)でしたので、ナンバリングなしで印刷屋さんに印刷してもらって、ナンバリングの部分のみ自宅のプリンタで上から刷り込んで、自分でチマチマと裁断しました。
この場合、自分のプリンタで印刷できないような紙(サイズ・厚さ・表面加工)も使えませんのでご注意を。
あ、プリンタの設定をpdfプリンタ等にすれば、ナンバリング済みのPDFファイルがズラリと作成できるから…色々応用すればきっと光が見えてくる…はずです。
illustratorの変数定義XML生成ツール(連番専用)
結論として、illustratorの変数のデータセットを切り替えて実現します。
変数のデータセットをXMLで定義したものが必要となるので、そのXMLをWEB上で生成するツールを作ってみました。
先にURLを紹介しておきます。
http://dev.adokikaku.com/ai_xml_number.html
デザインのテンプレートを作成しておく
先にイラストレーターで、デザインを作成しておきます。
いつも通り、普通に作ってください。
一旦、連番にする数値は最大の(桁)数で作成しておくといいと思います。
この時、次の2点を決定しておいてください。
・ 桁数に満たない場合の表記
併せて、最大の桁数に満たない場合の時は「足りない桁数を0で補う(1の場合は0001と出力)」のか、「足りない桁数は開けておく(1は1と出力)」のかを決定しておいてください。
・ 連番の入る箇所の数
例えば、チケットの右上と左下に同じ番号を入れたい、といった場合は、連番の入る箇所は2箇所という事になります。
後でツールを使ってXMLを生成する時に必要になる情報ですので、意識しておいてください。
注意する点は、
1)連番にする部分は、独立したオブジェクトにする。

オブジェクトの数値を切り替えていくため、数値の部分を独立したオブジェクトにしておいてください。
「No.9999」など、頭の文字などを含めたオブジェクトにしてしまうと、ここで紹介する方法(ツール)では2枚目以降の「No.」の文字が消えてしまいます。
2)連番の部分の段落スタイル
特に「足りない桁数は開けておく(1は1と出力)」と出力する場合は、段落スタイルに注意して作成してください。

3)1つ完成してから、コピーして丁付けする。
印刷する1枚の紙に連番の箇所が1つなら気にしなくていいのですが、例えば1枚のA4の紙にチケット10枚分つけて印刷する場合、1つのアートボードにチケットのデザインが10個並ぶことになると思います。
10個並べてから、1か所変更したくなった時は10箇所変更する必要がでてきます。2か所変更したくなったら20箇所… ミスの元ですので、10個並べた後に変更したくなった時は、横着せずに9個消して1個のデザインを完成させてからコピーして10個のデザインを並べるようにしてください。
なお、連番の箇所も文字色やフォント・アピアランスなどの設定も自由にできます。
当然ですが、くれぐれもアウトライン化はしないように。
最初だけ、数値をビチっと入力する
最初の1枚だけ、連番の数値をビチっと入力してください。
印刷する1枚の紙に連番の箇所が1つなら気にしなくていいのですが、例えば10丁づけした場合などに作業が必要です。
例えば1枚の紙に2列5行で10丁付けした場合、左上のチケットの連番が「1」なら「2」はどこになるのか。「1」の右?下?
これらをビチっと入力して、最初の連番(10丁付けの場合、1~10まで)が入った1枚のアートボードを完成させてください。
サンプルでは、左上から下に連番を並べてみました。

変数とテキストオブジェクトの関連づけ
ここからが連番機能の実装手順になります。
illustratorの上部メニューより、【ウィンドウ】→【変数】を選んで、変数パネルを表示させてください。
まず、最初のチケットの連番部分を変数に登録します。
チケットの中の連番のテキストオブジェクトをダイレクト選択ツール(白い矢印)で1つずつ番号順に選んで、変数ウィンドウの下の方にある「テキストを動的に設定」マークをクリックして、変数を登録していきます。
この時、1枚のチケットの中に複数個同じ連番が入る箇所がある場合も、1つずつ番号順に登録していってください。

※選択するのは連番の入るテキストオブジェクトのみですので、グループ化などされている場合は注意してください。
※本ツールを使用する場合、変数名は変更しないでください
登録し終わったら、変数パネルの上の方にあるカメラの「キャプチャ」マークを1回クリックしてください。

変数ウィンドウの右上のアイコンからメニューを出して、「変数ライブラリを保存」を選び、適当な名前でxmlファイルを書き出してください。
デフォルトだと、「variables.xml」という名前でファイルが保存されるかと思います。

本ツールを使って、XMLを生成する
本ツールを使用する際には、次の情報が必要になります。
- ナンバリングを開始する数
- ナンバリングを終了する数
- ナンバリングの最低桁数(0で埋めない場合は1を設定)
- 1つのチケットに連番を入れる箇所の数
- 1枚の紙(1つのアートボード)に配置したチケットの数
http://dev.adokikaku.com/ai_xml_number.htmlをブラウザで開き、設定項目を入力して「GET XML」ボタンを押してください。

成功した場合、ボタン下のテキストエリアにXMLのテキストが表示されます。
このテキストをまるっとコピーしてください。

先に保存した「variables.xml」をメモ帳で開き、中身をすべて消去してから、コピーしたXMLテキストを張り付けて保存してください。
この時、先頭に空白などが無い事を確認してください。
※保存した「variables.xml」を開いてから中身を削除する理由は、illustratorが出力したデータセットのXMLの文字コードなどをテキストエディタに認識させるためです。
変数ライブラリを読み込む
イラストレーターに戻って、変数パネルの右上のメニューから「変数ライブラリの読み込み」を選択して、保存した「variables.xml」を選択してください。

データセットがずらりと読み込まれれば成功です。
データセットを切り替えると、チケットのナンバリングの数値が変わる事を確認してください。

自動で印刷する設定
印刷する枚数が少ないのであれば、先のように手動でデータセットを切り替えて、都度プリントを実行すれば問題ありませんが、印刷枚数が何十枚になる場合には不便です。
ここでは、illustratorのアクション機能をしようして、ナンバリングの最後まで自動的に印刷する方法をご紹介します。
まず、データセットは最初の「データセット1」が表示されている状態にしてください。

illustratorの上部メニューより、【ウィンドウ】→【アクション】を選んで、アクションパネルを表示させてください。
アクションパネルの下の方にある「新規セットを作成」アイコンをクリックして、新規アクションセットを作成します。

ここでは「アクション1」という名前のままにしました。
続けて「アクション1」を選択されている状態で「記録開始」アイコンをクリックします。

illustratorの上部メニューより、【ファイル】→【プリント】を選んで、プリント設定のウィンドウを出します。
プリンタの設定等をしたら、「完了」ボタンを押してください。

アクションパネルの下の方にある「再生/記録を中止」アイコンをクリックしてください。
次に、アクションパネルの「プリント」と追加された行の左にある窓の様なマークをクリックして、非表示にしてください。
この窓のマークが表示されていると、印刷時に「確認のウィンドウが開く」という意味になります。
ここでは自動的に最後まで印刷を実行したいので、非表示にしておきます。

自動で印刷する(実行)
注意:このバッチ設定で「OK」をクリックすると、データセットの最後まで一気にプリントされてしまいますので注意してください。
途中で「しまったー!」となった場合は…プリンタの紙を抜いて、たまったプリントジョブを消して…といった悲しい強制中断の方法しか無いものと思われます。
作成したアクションセット「アクション1」を選んで、アクションパネルの右上のメニューボタンを押して、「バッチ」を選択してください。

「ソース」の項目を「データセット」にして、「OK」とします。

OKを押すと、自動的にデータセットを順番に切り替えてプリントが実行されます。
できなかった事
1枚のチケットに2つ以上のナンバリングする箇所を設けた場合、変数登録する時に2つとも選んで変数パネルの「テキストを動的に設定」とすれば、変数の数が減らせるのでは…と思って色々と試しましたが、どうにもうまくできませんでした。バインディング設定もラリっちゃう様子?
複数選んで「テキストを動的に設定」としてから、「変数ライブラリを保存」として生成されたXMLをのぞいてみると…正しく生成されていない様子…。ラリったXMLになっているので、その保存したXMLを読み込むとエラーが発生して読み込めませんでした。
そんなわけで、このような微妙にブサイクな仕様のツールとなってしまいましたとさ。
