为了摆脱复杂的ZPL、以及其他语言的各种打印协议, 所以研究了一下如何使用C# SDK调用BartenderSDK 进行模板打印。
优点: 利用Bartender的可视化编辑工具, 进行调节模板, 设置变量, 软件代码无需关心打印的内容调整, 轻松对接各类打印机系统。
缺点: 需要花钱买bartender授权的软件。 (不过大部分公司会使用Bartender)
前期准备:
安装Bartender10.1 或以上版本的软件
打开SDK文档
创建Btw模板,设定模板变量
1. 给模板添加单行文本, 然后右键属性, 如下图所示:
2. 设定模板名称和类型, 类型给设定为打印机代码模板字段
3. 保存模板文件到本地
创建C#项目,添加C# BartenderSDK
1.SDK引用文件,(SDK程序集在安装目录下可以找到)
2.创建打印机的服务实例, 代码如下:
Engine btEngine = new Engine();
btEngine.Start();
string path = AppDomain.CurrentDomain.BaseDirectory + "Address.btw"; ;
LabelFormatDocument btFormat = btEngine.Documents.Open(path); //打开模板的位置
//给绑定的模板字段进行赋值
btFormat.SubStrings["Company"].Value = "Microsoft";
btFormat.SubStrings["Address"].Value = "Raymond ";
btFormat.SubStrings["Email"].Value = "zhouhaogg789@outlook.com";
//由于没有打印机, 所以这里测试保存到本地即可
btFormat.SaveAs(AppDomain.CurrentDomain.BaseDirectory + "test", true);
//实际打印调用
//btFormat.Print();
3.由于SDK程序的兼容性问题, 在App.config文件中需要配置以下内容:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
<supportedRuntime version="v2.0.50727"/>
</startup>
4.打印的内容最终显示:
关于RFID打印
1.添加RFID相关内容, 如下:
2.选择设定来源模板字段, 和上面流程相同。
3.模板中给RFID EPC绑定值符合RFID规则即可