Commander XMLスクリプトのトリガ設定

Commander_XML スクリプトのトリガ設定
(BarTender10.1 ~ Enterprise Automation 版)
Commander を利用して自動発行する場合、BarTender XML スクリプトを上位システムから
Commander に渡すことで、出力先プリンタやフォーマットを指定し、一回の指示で複数のフォーマッ
トを連続して印刷をすることができます。
※BarTender Enterprise Automation 版が必要です。
このサンプルは、XML スクリプトにより、ラベルフォーマット、出力先プリンタ、データとして使用する
CSV ファイルを指定して自動発行を行うサンプルです。
BarTender と Commander はインストールされているものとします。
1. フォルダの準備
C:\Commander フォルダを作成し、その中に Formats, Scan, Triggers フォルダを作成します。
2. サンプルデータとフォーマットの作成
メモ帳に以下の内容を入力し、“XMLSample1.csv”として、C:\Commander\Formats フォルダ内に
保存します。このデータはラベルの作成時にサンプルデータとして利用され、Commander の実行
時にはトリガファイルに差し替えられます。
"Name","Code"
"TEST","12345678"
1 / 11
BarTender でラベルを新規作成し、任意の A4 プリンタを選択して、2 列x5 行のレイアウトで以下の
ようなラベルを作成します。(ラベルプリンタの場合は 1 行x1 列のレイアウトでよいでしょう。)
ファイル>データベースの設定 より、先程作成したテキストファイル“XMLSample1.csv”に接続し
ます。形式は複合した引用符とコンマ、先頭行はヘッダとします。
ラベル上のテキストのデータソースはデータベースフィールド”Name”を選択、
バーコードのデータソースはデータベースフィールド“Code”を選択します。
(データベースに接続する手順について不明な場合は、別資料 「テキストファイル(CSV)との接
続.pdf」を参考にしてください。)
印 刷 プ レ ビ ュ ー か 印 刷 が 問 題 な く 出 力 さ れ た ら 、 C:\Commander\Formats フ ォ ル ダ 内 に
“XMLSample1.btw”として保存します。
2 / 11
3. Commander タスクの作成
スタート>すべてのプログラム>BarTender(バージョン)より、Commander を開きます。
メニューの タスク>追加 でタスクを追加します。
トリガタブは、以下のように設定します。
(スキャンするファイルを *.xml としています)




検出方法は、通常は[即時]を選びます。他のコンピュータ上のフォルダなどで、即時で検出で
きない場合はポーリングを選択してください。
スキャンするフォルダは監視対象のフォルダです。このフォルダにトリガファイルがコピーされ
ると、コマンドの内容が実行されます。
スキャンするファイルにはワイルドカードが使えます。[*.xml] の場合は拡張子が xml のファ
イルは全てトリガとみなします。
検出の応答方法は、印刷後にトリガを削除するときは[ファイルの削除]を選んでください。
ファイル名を変更して残しておきたいときは[ファイル名の変更]を選びます。
3 / 11
コマンドタブでは、コマンドタイプで[BarTender XML スクリプト]を選択します。
XML スクリプトの場合、他に設定することは無いので、[OK]をクリックします。
ファイル>名前をつけて保存 で、現在のタスクをタスクリスト(*.tl ファイル)に保存します。
4. XML スクリプトを含むトリガファイルの作成
メモ帳等のテキストエディタに以下の内容を入力します。
<<プリンタ名>>欄には、出力先のプリンタ名(プリンタと FAX フォルダで、プリンタのアイコンに表示
されている名前)を入力してください。
“Trigger1.xml”として、UTF-8 形式テキストで C:\Commander\Triggers フォルダ内に保存します。
<?xml version="1.0" encoding="utf-8"?>
<XMLScript Version="2.0">
<Command>
<Print>
<Format CloseAtEndOfJob="true">C:\Commander\Formats\XMLSample1.btw</Format>
<PrintSetup>
<Printer><<プリンタ名>></Printer>
</PrintSetup>
<RecordSet Name="テキスト ファイル 1" Type="btTextFile">
<FileName>C:\Commander\Scan\Data1.csv</FileName>
</RecordSet>
</Print>
</Command>
</XMLScript>
4 / 11
5. CSV ファイルの作成
メモ帳等のテキストエディタに以下の内容を入力します。
"Name","Code"
"BarTender","11223344"
"Seagull","99999999"
“Data1.CSV”として、C:\Commander\Triggers フォルダ内に保存します。
6. タスクの実行
Commander で検出の開始ボタンを押して、タスクの検出を開始します。
データファイル Data1.csv ファイルをコピーして、Scan フォルダに貼り付け、その後
トリガファイル Trigger1.xml を Scan フォルダにコピーします。
トリガファイル名が Trigger1.dat に変更され、指定されたプリンタからラベルが発行されます。
5 / 11
正しく発行されない場合、Commander の Logging ビューでエラーが記録されていないか確認して
みてください。
また、Commander の管理者>サービス管理 より Commander をアプリケーションとして動作するよ
う設定し、タスクの検出を停止した状態で、検出>実行中のすべての BarTender を表示 を選び、
BarTender を表示した状態で検出してみてください。エラーが発生した場合は BarTender 画面に表
示されます。
7. CSV ファイルをトリガデータに埋め込む
CSV ファイルのファイル名を指定する代わりに、XML スクリプトに埋め込むこともできます。
<RecordSet>タグ内に<TextData>タグを配置し、
“<![CDATA[“ と “]]>”の間に、CSV ファイルの内容を埋め込んでください。
<?xml version="1.0" encoding="utf-8"?>
<XMLScript Version="2.0">
<Command>
<Print>
<Format CloseAtEndOfJob="true">C:\Commander\Formats\XMLSample1.btw</Format>
<PrintSetup>
<Printer><<プリンタ名>></Printer>
</PrintSetup>
<RecordSet Name="テキスト ファイル 1" Type="btTextFile">
<TextData>
<![CDATA[
"Name","Code"
"プリンタ","00001111"
"リボン","22446688"
]]>
</TextData>
</RecordSet>
</Print>
</Command>
</XMLScript>
6 / 11
実際の運用では、トリガファイルは他のアプリケーションで作成されることになるでしょう。
XML スクリプトの内容を書き換えて、他のフォーマットや他のプリンタからの出力を試してみてくだ
さい。
複数の Command タグを含めることで複数のフォーマットを連続で印刷できます
日本語版BarTenderでは “テキスト ファイル 1”としてください。(英語版は “Text File 1”)
Tips

Format タグでは、印刷した後にフォーマットを閉じるかどうか、フォーマットを保存するかど
うかを指定できます。
<Format CloseAtEndOfJob="true" SaveAtEndOfJob="true">
とすると、印刷後にフォーマットを上書き保存して閉じます。

PrintSetup タグ内で同一コピー枚数やシリアル番号化コピー数(連番発行数)を指定できます。
<PrintSetup>
<IdenticalCopiesOfLabel>3</IdenticalCopiesOfLabel>
<NumberSerializedLabels>10</NumberSerializedLabels>
</PrintSetup>

←同一コピー枚数
←連番発行数
データベース接続を使わず、フォーマットで設定した共有サブ文字列に XML で直接値を設定
することもできます。(BarTender で、テキストやバーコードのデータソースの[詳細]ダイアログ
で、[共有/名前]タブより共有名を設定できます。)
以下の書式では、共有名 “SHARE1”に値 4980 を設定します。
<Format CloseAtEndOfJob="true" >C:\format1.btw</Format>
<NamedSubString Name="SHARE1">
<Value>4980</Value>
</NamedSubString>
XML スクリプトの利用方法、および各コマンドの詳細な説明については、BarTender ヘルプの
BarTender の自動化>Automation with XML Script (英語) をご覧ください。
7 / 11
8. 印刷完了ステータスを取得する
①プリンタドライバのステータスモニタを有効にする
②プリンタから印刷ステータスが返されるまでのタイムアウト値を設定します。
8 / 11
③コマンドタイプに『ファイルへ保存』を選択します
9 / 11
④コマンド:ソースに BTXML スクリプトコマンドの応答を選択します。
⑤印刷正常に完了時
<Print
ID="29"
GUID="{5D4FE911-4A8C-441A-9C18-91FE2D82A7F1}"
JobLastStatus="Sent (Printing Verified)" JobCompleted="true" JobName="印刷ステータ
ス.btw">
10 / 11
⑥印刷未完了時
<Print
ID="14"
GUID="{5F6F1EE1-34DB-4D12-B91A-12BE7BD9C70E}"
JobLastStatus="Sending" JobCompleted="false" JobName="印刷ステータス.btw">
<JobStatus Completed="false">
上位システムにて、印刷する毎に、BTXML スクリプトコマンドの応答ログファイルを開き
JobLastStatus="Sent (Printing Verified)" JobCompleted="true" となっている場合にのみ
次の印刷を実行する XML スクリプトをトリガーフォルダに作成する処理を実装することにより
印刷データがプリンタから印刷されたことを確実に確認しながら連続して印刷を実行することが
可能です。
※印刷の処理時間が通常よりかかります。
以上
11 / 11