调用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码下方文字间距设置。