在VS中添加bartender的COM组件引用后(一定要添加,否则会提示找不到BarTender.Application):
1 /// <summary> 2 /// Bartender模板打印 3 /// </summary> 4 /// <param name="MdFilePath">模板文件路徑</param> 5 /// <param name="NamedStr">模板字段名數組</param> 6 /// <param name="NamedValue">模板字段值數組</param> 7 public bool BarTenderPrint(string MdFilePath, List<string> NamedStr, List<string> NamedValue) 8 { 9 bool result = false; 10 11 string prtFile = MdFilePath;//@"D:\visitor.btw"; 12 BarTender.Application bt = new BarTender.Application(); 13 BarTender.Format btFmt; 14 try 15 { 16 btFmt = bt.Formats.Open(prtFile, false, ""); 17 for (int i = 0; i < NamedStr.Count; i++) 18 { 19 btFmt.SetNamedSubStringValue(NamedStr[i], NamedValue[i]); 20 } 21 btFmt.PrintOut(true, true); //第二个false设置打印时是否跳出打印属性 22 btFmt.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); //退出时否保存标签 23 //btFmt.Close(BarTender.BtSaveOptions.btSaveChanges); //退出时是否保存标签 24 bt.Quit(BarTender.BtSaveOptions.btSaveChanges);//界面退出时同步退出bartender进程 25 result = true; 26 } 27 catch (Exception err) 28 { 29 throw new Exception(err.Message + err.Source + err.StackTrace); 30 } 31 finally 32 { 33 btFmt = null; 34 bt = null; 35 } 36 return result; 37 }
如是遇到标签等设置无误,但仍然无法打印时,有可能存在以下问题:
1.打印机驱动有问题,需重装驱动;
2.bartender在企业版中需要设置Seagull License Server:打开bartender,在工具—>一般选项中—>授权管理,设置完成后点击确定即可。