使用C#_SDK进行RFID打印或者表面信息打印

为了摆脱复杂的ZPL、以及其他语言的各种打印协议, 所以研究了一下如何使用C# SDK调用BartenderSDK 进行模板打印。
优点: 利用Bartender的可视化编辑工具, 进行调节模板, 设置变量, 软件代码无需关心打印的内容调整, 轻松对接各类打印机系统。
缺点: 需要花钱买bartender授权的软件。 (不过大部分公司会使用Bartender)

前期准备:#

安装Bartender10.1 或以上版本的软件
P3:Bartender 打印RFID标签 - 图1

打开SDK文档#

P3:Bartender 打印RFID标签 - 图2
P3:Bartender 打印RFID标签 - 图3

创建Btw模板,设定模板变量#

Copy

  1. 1. 给模板添加单行文本, 然后右键属性, 如下图所示:

P3:Bartender 打印RFID标签 - 图4
2. 设定模板名称和类型, 类型给设定为打印机代码模板字段
P3:Bartender 打印RFID标签 - 图5
3. 保存模板文件到本地

创建C#项目,添加C# BartenderSDK#

Copy

  1. 1.SDK引用文件,(SDK程序集在安装目录下可以找到)

P3:Bartender 打印RFID标签 - 图6
2.创建打印机的服务实例, 代码如下:
Copy

  1. Engine btEngine = new Engine();
  2. btEngine.Start();
  3. string path = AppDomain.CurrentDomain.BaseDirectory + "Address.btw"; ;
  4. LabelFormatDocument btFormat = btEngine.Documents.Open(path); //打开模板的位置
  5. //给绑定的模板字段进行赋值
  6. btFormat.SubStrings["Company"].Value = "Microsoft";
  7. btFormat.SubStrings["Address"].Value = "Raymond ";
  8. btFormat.SubStrings["Email"].Value = "zhouhaogg789@outlook.com";
  9. //由于没有打印机, 所以这里测试保存到本地即可
  10. btFormat.SaveAs(AppDomain.CurrentDomain.BaseDirectory + "test", true);
  11. //实际打印调用
  12. //btFormat.Print();

Copy

  1. 3.由于SDK程序的兼容性问题, App.config文件中需要配置以下内容:

Copy

  1. <startup useLegacyV2RuntimeActivationPolicy="true">
  2. <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  3. <supportedRuntime version="v2.0.50727"/>
  4. </startup>

Copy

  1. 4.打印的内容最终显示:

P3:Bartender 打印RFID标签 - 图7

关于RFID打印#

Copy

  1. 1.添加RFID相关内容, 如下:

P3:Bartender 打印RFID标签 - 图8
2.选择设定来源模板字段, 和上面流程相同。
3.模板中给RFID EPC绑定值符合RFID规则即可