调用codeSoft的模板,实现批量连续打印。
Code:
制作标签1.lab.
添加两个变量var0,var1。
using LabelManager2; string strFile = System.Windows.Forms.Application.StartupPath.ToString() + "\\1.lab"; lbl = new LabelManager2.ApplicationClass(); lbl.Documents.Open(strFile, false);//调用设好的lbl标签 doc = lbl.ActiveDocument; //获得所有打印机名称 Strings vars = lbl.PrinterSystem().Printers(enumKindOfPrinters.lppxAllPrinters); //获得需要的打印机名称 打印机固定可直接给名称值 // string printName = vars.Item(2); PrintDocument prtdoc = new PrintDocument(); string strDefaultPrinter = prtdoc.PrinterSettings.PrinterName;//获取默认的打印机名 for (int j = 0; j < vars.Count; j++) { string[] arryString = vars.Item(j).Split(‘,‘); if (arryString[0] == strDefaultPrinter) { doc.Printer.SwitchTo(strDefaultPrinter, arryString[1], true); break; } } DataTable dt = codeInfo_DAL.GetData(this.cbb.SelectedValue.ToString()); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { //codesoft模板中标签变量 doc.Variables.FormVariables.Item("var0").Value = dr["CodeID"].ToString(); doc.Variables.FormVariables.Item("var1").Value =dr["Name"].ToString(); // doc.PrintDocument(3); doc.PrintLabel(1, 1, 1, 1, 1, ""); } //标签批量连续打印。FormFeed()必须等参数变量输出后才执行,输出给打印机。 doc.FormFeed(); lbl.Quit(); }
codesoft模板,128码下方文字间距设置。
时间: 2024-10-27 01:39:34