一、引用BarcodeStandard.dll
>二、引用Seagull.BarTender.Print.dll #region Seagull.BarTender.Print.dll /// <summary> /// 打印测试 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void printbt_Click(object sender, EventArgs e) { string qd = comboBox_drive.Text;//下拉列表选择的驱动名称 var printDocument = new PrintDocument(); //指定打印机 printDocument.PrinterSettings.PrinterName = qd;//驱动名称 printDocument.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage); try { //打印预览 //PrintPreviewDialog ppd = new PrintPreviewDialog(); //ppd.Document = printDocument; //ppd.ShowDialog(); //打印 printDocument.Print(); } catch (InvalidPrinterException) { } finally { printDocument.Dispose(); } } /// <summary> /// BarTender打印 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BarTender_Click(object sender, EventArgs e) { try { //程序中写入引用 using Seagull.BarTender.Print.dll,必不可少; //安装Bartender后,在安装的根目录或者system32下课可找到对应的dll #region Engine btEngine = new Engine(); btEngine.Start(); string lj = AppDomain.CurrentDomain.BaseDirectory + "test.btw"; //test.btw是BT的模板 LabelFormatDocument btFormat = btEngine.Documents.Open(lj); //对BTW模版相应字段进行赋值 btFormat.SubStrings["name"].Value ="Liming"; btFormat.SubStrings["code"].Value = "1234567890"; //指定打印机名 btFormat.PrintSetup.PrinterName = "WPS 虚拟打印机"; //改变标签打印数份连载 btFormat.PrintSetup.NumberOfSerializedLabels = 1; //打印份数 btFormat.PrintSetup.IdenticalCopiesOfLabel = 1; Messages messages; int waitout = 10000; http://www.easck.com// 10秒 超时 Result nResult1 = btFormat.Print("标签打印软件", waitout, out messages); btFormat.PrintSetup.Cache.FlushInterval = CacheFlushInterval.PerSession; //不保存对打开模板的修改 btFormat.Close(Seagull.BarTender.Print.SaveOptions.DoNotSaveChanges); //结束打印引擎 btEngine.Stop(); #endregion } catch (Exception ex) { MessageBox.Show("错误信息: " + ex.Message); return; } } #endregion三、引用> #region Interop.LabelManager2.dll /// <summary> /// 打印功能 CodeSoft /// </summary> /// <param name="PrintParam1">打印模板参数值1</param> /// <param name="PrintParam2">打印模板参数值2</param> /// <param name="PrintParam3">打印模板参数值3</param> /// <param name="PrintParam4">打印模板参数值4</param> /// <returns></returns> public bool SoftCodePrint(string PrintParam1 = "", string PrintParam2 = "", string PrintParam3 = "", string PrintParam4 = "") { bool result = false; int printNum = 2;//打印份数 try { string text = string.Empty; ApplicationClass labApp = null; Document doc = null; string labFileName = AppDomain.CurrentDomain.BaseDirectory + "Template\" + "Test.Lab";//模板地址 if (!File.Exists(labFileName)) www.easck.com { throw new Exception("沒有找到标签模版"); } for (int i = 0; i < printNum; i++) { labApp = new ApplicationClass(); labApp.Documents.Open(labFileName, false);// 调用设计好的label文件 doc = labApp.ActiveDocument; //可通过配置档进行配置打印信息 doc.Variables.FreeVariables.Item("模板变量名称1").Value = PrintParam1; doc.Variables.FreeVariables.Item("模板变量名称2").Value = PrintParam2; doc.Variables.FreeVariables.Item("模板变量名称3").Value = PrintParam3; doc.Variables.FreeVariables.Item("模板变量名称4").Value = PrintParam4; doc.PrintDocument(1); } labApp.Quit(); result = true; } catch (Exception ex) { } return result; } #endregion
dll下载地址
到此这篇关于C#调用打印机实现打印的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。










