Illustratorで名前とバーコードを差し込み印刷する課題が有ったので記録しておく。
Illustrator2020 24.1.1
Windows10
バーコードは一般的で扱いやすいと思われる CODE39 を使用することにする。
パソコンに CODE39 のフォントをインストールしておく。
使用できる文字は、以下の通り
0123456789 (数字)
ABCDEFGHIJKLMNOPQRSTUVWXYZ (大文字のみ)
(スペース)
$ (ドル)
% (パーセント)
+ (プラス)
- (マイナス)
. (ドット)
/ (スラッシュ)
の記号7個
桁数は問わない。
CODE39は前後にアスタリスクをスタートコード、ストップコードとして入れる必要が有る。
12345 を表現するには *12345* となる。
ABC123DEF を表現すると *ABC123DEF* となる。
それぞれバーコードリーダで読み取ると
12345
ABC123DEF
となる。
この中に名前とバーコードを差し込みで入れる。
文字を入れてあたりを付けておく。バーコードの部分はバーコードフォントを使用。
ウインドウ > 変数
名前を選択して、[テキストを動的に設定]。
変数が設定された。
変数名を name に変更。
同様にバーコードを barcode で設定。
以下の書式でXMLを用意する。(UTF-8)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
]>
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/" x="0px" y="0px" width="0px" height="0px" viewBox="0 0 0 0" xml:space="preserve">
<variableSets xmlns="&ns_vars;">
<variableSet locked="none" varSetName="binding1">
<variables>
<variable trait="textcontent" varName="name"></variable>
<variable trait="textcontent" varName="barcode"></variable>
</variables>
<v:sampleDataSets xmlns="&ns_custom;" xmlns:v="&ns_vars;">
<v:sampleDataSet dataSetName="dataset1">
<name>
<p>サンプル太郎</p>
</name>
<barcode>
<p>*123456*</p>
</barcode>
</v:sampleDataSet>
<v:sampleDataSet dataSetName="dataset2">
<name>
<p>サンプル次郎</p>
</name>
<barcode>
<p>*111111*</p>
</barcode>
</v:sampleDataSet>
<v:sampleDataSet dataSetName="dataset3">
<name>
<p>サンプル三郎</p>
</name>
<barcode>
<p>*222222*</p>
</barcode>
</v:sampleDataSet>
<v:sampleDataSet dataSetName="dataset4">
<name>
<p>サンプル四郎</p>
</name>
<barcode>
<p>*333333*</p>
</barcode>
</v:sampleDataSet>
</v:sampleDataSets>
</variableSet>
</variableSets>
</svg>
またはCSVでも良い。(UTF-8)
name,barcode
サンプル太郎,*123456*
サンプル次郎,*111111*
サンプル三郎,*222222*
サンプル四郎,*333333*
「変数ライブラリの読み込み」。
データが読み込まれたことを確認。
note:
変数定義と差込データ読み込みはどちらが先でも構わない。
新規アクションセットを作成。
新規アクション作成
[記録]で1枚印刷してアクションを登録する。
アクションが登録された状態。
バッチ処理時にダイアログが出ないように、ダイアログボックス表示をOFFにする。
バッチ。
セット、アクションを設定。
ソースを「データセット」にする。
OKでバッチ印刷が実行される。
Illustratorでデータ差し込みが出来るようになったのは Ver.10 からです。
CSVに対応したのは Illustrator CC 2018 です。
これら機能は「データ結合」「可変データ」「バリアブル」「差し込み印刷」と呼ばれています。
バッチ印刷ではなく、バッチで個々のファイルに書き出すことももちろん可能。
Illustrator形式やPDF形式で保存など可能。
アクション機能で可能なことは全て可能。
別名で保存するアックションを作成。
「アクションの保存コマンドを無視」
「保存先選択」
「ファイル名を選ぶ」
OKで個別ファイルが生成される。