使用 TransformTextToRecordSetAction 的 BarTender REST API 打印操作示例
概述
当你使用 BarTender REST API 自动化标签打印时,可以通过文本文件自定义数据,覆盖标签的数据库连接,无需修改 BTW 文件。
在 API 调用过程中使用 TransformTextToRecordSetAction 函数,可以将文本文件中的数据转换为数据记录,从而在打印时填充到标签中。
本文将向你展示如何使用 YAML 调用此函数。
如果你想了解 REST API 的基本工作原理,可以参考这篇文章。
适用范围
BarTender 2022 及更高版本
自动化版及以上版本
信息
创建你的 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 参数为空。
- 请求体类型选择 text/vnd.yaml。
- 在请求体中添加以下两个操作:
- 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
如果调用成功,你会看到如下提示信息: