TransformTextToRecordSetAction を使用した BarTender REST API 印刷アクションの例
概要
BarTender REST API を使ってラベル印刷を自動化する際、BTW ファイルを変更せずに、テキストファイルを使ってラベルのデータベース接続をカスタムデータで上書きすることができます。
API コール時に TransformTextToRecordSetAction 関数を使用すると、テキストファイル内のデータがデータレコードに変換され、印刷時にラベルに反映されます。
この記事では、この関数を YAML で呼び出す方法を紹介します。
REST API の全体的な仕組みについては、こちらの記事をご覧ください。
対象製品
BarTender 2022 以降
Automation エディション以上
情報
BarTender ドキュメントの作成
- 以下の形式でデータベース用テキストファイルを作成します:
Field 1, Field 2, Field 3
Value 1, Value 2, Value 3
Value 4, Value 5, Value 6 - ファイル名を dbfile.txt として保存します。
- BarTender Designer を開き、新しいドキュメントを作成します。
- dbfile.txt へのテキストデータベース接続を追加します。(詳しくは こちらの記事をご参照ください)
- データベース接続名が dbfile になっていることを確認します:
- ラベルにテキストオブジェクトを3つ追加し、それぞれをデータベースのフィールドに接続します。
- ファイルを C:\Docs\APITest.btw に保存します。
環境のセットアップ
- データベース接続の設定をエクスポートします:
- ファイルを C:\Docs\dbfolder\ConnectionSetup.xml に保存します。
- 以下の内容でデータファイルを作成します:
Field 1, Field 2, Field 3
Value 7, Value 8, Value 9
Value 10, Value 11, Value 12 - これを C:\Docs\dbfolder\datafile.txt に保存します。
- C:\Docs\ に Output というフォルダを作成します。
API コールの実行
- 以下のリンクをブラウザで開きます:
http://localhost:5159/swagger/index.html
- ページ上部の Try it out ボタンをクリックします。
- File パラメータが空であることを確認します。
- Request body で text/vnd.yaml を選択します。
- リクエストボディに、以下の2つのアクションを追加します:
- TransformTextToRecordSetAction のパラメータ:
- ConnctionSetup: btw の接続設定からエクスポートした xml ファイル
- Text: 印刷時にラベルへ挿入するデータが入ったテキストファイル
- PrintBTWAction のパラメータ:
- DocumentFile: 印刷する btw ファイルのパス
- Printer: 使用するプリンター
- PrintToFileFolder & PrintToFileFileName: PDF プリンターで使用する出力先フォルダとファイル名
- DatabaseOverrides: データベースの上書き設定。ここでは、データベース接続 dbfile が datum 変数から上書きされます。
- TransformTextToRecordSetAction のパラメータ:
ActionGroup:
Actions:
- TransformTextToRecordSetAction:
ConnectionSetup:
File: C:\Docs\dbfolder\ConnectionSetup.xml
Text:
File: C:\Docs\dbfolder\datafile.txt
RecordSetVariableName: datum
- PrintBTWAction:
DocumentFile: C:\Docs\APITest.btw
Printer: PDF
PrintToFileFolder: C:\Docs\Output
PrintToFileFileName: test.pdf
DatabaseOverrides:
- Name: dbfile
Type: VariableName
DataSourceVariableName: datum
上記の Print アクションの、よりシンプルな代替例も試すことができます:
- PrintBTWAction:
DocumentFile: C:\Docs\APITest.btw
Printer: PDF
PrintToFileFolder: C:\Docs\Output
PrintToFileFileName: test.pdf
DatabaseOverrides:
- Name: data
FileTarget: C:\kit\databases\data.txt
コールが成功すると、以下のようなメッセージが表示されます: