為了擺脫復雜的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規則即可