private void DoPrintTicketInfoSpecial(DataRow drBtn, DataTable dtPrint) { try { BarTender.Application btdb = new BarTender.Application(); string strPrintPath = Application.StartupPath + @"\打印模板\" + drBtn["TicketTempName"].ToString() + ".btw"; try { foreach (DataRow drPrint in dtPrint.Rows) { StaticFunctions.PrintItem(btdb, drPrint, strPrintPath, strKeyFiled, frmImageFilePath); } } catch (Exception err) { MessageBox.Show("打印出错:" + err.Message); } finally { btdb.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); } } catch (Exception) { MessageBox.Show("初始化打印出错,可能未安装BarTender."); } }
private void button_start_Click(object sender, EventArgs e) { flag = true; this.db2 = new databaseSQL(); this.db2.SSHConnectMySql(); //this.labelapp = new LabelManager2.Application(); //创建lppa.exe进程 //this.btEngine = new Engine(); //this.btEngine.Start();//启动BT引擎 this.btapp = new BarTender.Application(); textBox_log.Text = "启动BT引擎\r\n"; if (!textBox_path.Text.Trim().Equals("")) { //timer1.Enabled = true; task_thread = new Thread(get_task); task_thread.IsBackground = true; task_thread.Start(); button_start.Enabled = false; button_selfile.Enabled = false; button_stop.Enabled = true; } else { MessageBox.Show("请指定一个打印BT模板文件!"); this.textBox_path.Focus(); return; } }
private void button5_Click(object sender, EventArgs e) { try { label45.Text = ""; string idnumber = this.textBox3.Text; if (idnumber != null && idnumber.Length == 18) { DisplayPersonTeShuInfo(idnumber); string nameCodenew = textBox1.Text + " " + Regex.Replace(textBox3.Text, "(\\d{6})\\d{10}(\\d{2})", "$1**********$2"); if (nameCodenew.IndexOf('*') < 0) { nameCodenew = textBox1.Text + " " + textBox3.Text.Substring(0, 6) + "**********" + textBox3.Text.Substring(16, 2); } string codenew = ""; int fnum = Int32.Parse(this.numericUpDown1.Value.ToString()); DataTable dttjjk = grjddao.selectTjjk(idnumber); if (dttjjk != null && dttjjk.Rows.Count > 0) { codenew = dttjjk.Rows[0]["bar_code"].ToString(); //调用Bartender btApp = new BarTender.Application(); //获取打印模板,指定打印机 btFormat = btApp.Formats.Open(@str + "\\cs1.btw", false, ""); // 同样标签的份数 btFormat.PrintSetup.IdenticalCopiesOfLabel = fnum; // 序列标签数 btFormat.PrintSetup.NumberSerializedLabels = 1; //设置参数 code btFormat.SetNamedSubStringValue("code", codenew); btFormat.SetNamedSubStringValue("nameCode", nameCodenew); //打印开始 第2个参数是 是否显示打印机属性的。可以设置打印机路径 btFormat.PrintOut(false, false); //关闭摸板文件,并且关闭文件流 btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); //打印完毕 btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); } else { MessageBox.Show("此身份证号没有登记过,请检查!"); } } else { MessageBox.Show("身份证号不正确,请检查!"); } } catch (Exception ee) { MessageBox.Show(ee.Message + "---" + ee.StackTrace); } }
//打印条码 public void OnPrintSampleBarcode(string barcode, int pageCount, string nameCode) { bool addjkbool = false; if (grjdxx != null) { DataTable dt = grjddao.judgeRepeat(textBox3.Text); if (dt.Rows.Count < 1) { grjdxx.archive_no = basicInfoSettings.xcuncode + grjdxx.Cardcode.Substring(14); grjdxx.photo_code = grjdxx.Cardcode + ".jpg"; bool istrue = grjddao.addgrjdInfo(grjdxx); } jkBean jk = new jkBean(); jk.aichive_no = grjdxx.archive_no; jk.id_number = grjdxx.Cardcode; jk.bar_code = barcode; jk.Pic1 = grjdxx.CardPic; jk.Pic2 = grjdxx.Cardcode + ".jpg"; addjkbool = grjddao.addJkInfo(jk); textBox5.Text = jk.aichive_no; textBox6.Text = barcode; } try { if (addjkbool) { //调用Bartender btApp = new BarTender.Application(); //获取打印模板,指定打印机 btFormat = btApp.Formats.Open(@str + "\\cs1.btw", false, ""); // 同样标签的份数 btFormat.PrintSetup.IdenticalCopiesOfLabel = pageCount; // 序列标签数 btFormat.PrintSetup.NumberSerializedLabels = 1; //设置参数 code btFormat.SetNamedSubStringValue("code", barcode); btFormat.SetNamedSubStringValue("nameCode", nameCode); //打印开始 第2个参数是 是否显示打印机属性的。可以设置打印机路径 btFormat.PrintOut(false, false); //关闭摸板文件,并且关闭文件流 btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); //打印完毕 btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); } } catch (Exception e) { MessageBox.Show("打印机设备连接不正确,请重新连接或重启!"); //throw e; } }
public string BarTenderPrintLS <T>(IEnumerable <T> lists, BarTenderPrintConfigModelXX config) { string printerName = config.PrinterName; // 打印机名称 string templateName = config.TemplateSelectedItem.TemplateFullName; //通用模板名称 BarTender.Application btApp = new BarTender.Application(); try { // StringBuilder stringBuilder = new StringBuilder(); BarTender.Format btFormat = btApp.Formats.Open(templateName, false, ""); btFormat.PrintSetup.Printer = printerName; btFormat.PrintSetup.NumberSerializedLabels = 1; btFormat.PrintSetup.IdenticalCopiesOfLabel = 1; string nameValues = "," + btFormat.NamedSubStrings.GetAll("|", ","); Regex rg = new Regex(@",([^|]*)", RegexOptions.IgnoreCase); var fieldLists = GetTendarFieldName(nameValues.Replace(Environment.NewLine, ""), rg); foreach (var entry in lists) { SetTemplateNamedSubStringValueToPart(btFormat, fieldLists, entry); var s1 = btFormat.PrintOut(false, false); if (s1 != 0) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); return("打印结果不正常,打开模板手动打印取消警告窗口"); } else { WriteRowHashValueLog(entry); } } return("打印成功"); } catch (Exception ex) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); throw new Exception(ex.Message); } finally { if (btApp != null) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); } } }
public void printBarcode() { try { BarTender.Format btFormat; BarTender.Application btApp = new BarTender.Application(); btFormat = btApp.Formats.Open(modelPath, false, ""); btFormat.PrintSetup.IdenticalCopiesOfLabel = 1; //单词执行打印一共需要打印几份一样的标签 btFormat.PrintSetup.NumberSerializedLabels = 1; //set the number of the sequenced btFormat.PrintOut(false, false); btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); //save or not save } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private static void OnCreated(object source, FileSystemEventArgs e) { //String tempPath = "D:\\箱标签\\箱标签.btw"; String tempPath = btwPath + "\\箱标签.btw"; BarTender.Application btApp; BarTender.Format btFormat; btApp = new BarTender.Application(); btApp.Visible = false; btFormat = btApp.Formats.Open(@tempPath, false, ""); print(e.FullPath, btFormat); btFormat.Close(BarTender.BtSaveOptions.btSaveChanges); btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); //Console.WriteLine("文件新建事件处理逻辑 {0} {1} {2}", e.ChangeType, e.FullPath, e.Name); //Console.WriteLine(e.FullPath); //Console.WriteLine(e.Name); //File.Move(e.FullPath, "E" + e.FullPath.Substring(1)); File.Move(downLoadPath + "\\" + e.Name, bakUpPath + "\\" + e.Name); File.Delete(e.FullPath); }
private void Form1_Load(object sender, EventArgs e) { btAPP = new BarTender.Application(); //初始化Bartender对象 //this.Text = ""; //设置标题栏文本为空 //ControlBox = false; //不在窗体标题栏中显示控件 //this.FormBorderStyle = FormBorderStyle.None; TreeNode treeNoderoot1 = this.treeView1.Nodes.Add("一月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot1.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot2 = this.treeView1.Nodes.Add("二月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot2.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot3 = this.treeView1.Nodes.Add("三月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot3.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot4 = this.treeView1.Nodes.Add("四月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot4.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot5 = this.treeView1.Nodes.Add("五月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot5.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot6 = this.treeView1.Nodes.Add("六月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot6.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot7 = this.treeView1.Nodes.Add("七月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot7.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot8 = this.treeView1.Nodes.Add("八月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot8.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot9 = this.treeView1.Nodes.Add("九月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot9.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot10 = this.treeView1.Nodes.Add("十月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot10.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot11 = this.treeView1.Nodes.Add("十一月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot11.Nodes.Add(i.ToString() + "号订单"); } TreeNode treeNoderoot12 = this.treeView1.Nodes.Add("十二月份订单"); for (int i = 1; i < 32; i++) { treeNoderoot12.Nodes.Add(i.ToString() + "号订单"); } treeView1.SelectedNode = null; this.listView1.GridLines = true; //表格是否显示网格线 this.listView1.FullRowSelect = true; //是否选中整行 this.listView1.View = View.Details; //设置显示方式 this.listView1.Scrollable = true; //是否自动显示滚动条 this.listView1.MultiSelect = false; //是否选中多行 //this.listView1.ForeColor = Color.Red; this.listView1.Columns.Add("#", 40, HorizontalAlignment.Center); this.listView1.Columns.Add("订单编号", 60, HorizontalAlignment.Center); this.listView1.Columns.Add("订单日期", 80, HorizontalAlignment.Center); this.listView1.Columns.Add("业务伙伴名称", 150, HorizontalAlignment.Center); this.listView1.Columns.Add("U8物料编码", 120, HorizontalAlignment.Center); this.listView1.Columns.Add("产品描述", 160, HorizontalAlignment.Center); this.listView1.Columns.Add("封装形式", 60, HorizontalAlignment.Center); this.listView1.Columns.Add("芯片版本", 60, HorizontalAlignment.Center); this.listView1.Columns.Add("计划数量", 80, HorizontalAlignment.Center); this.listView1.Columns.Add("备品数", 60, HorizontalAlignment.Center); this.listView1.Columns.Add("项目编号/ 客户编码", 180, HorizontalAlignment.Center); this.listView1.Columns.Add("交货日期", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("测试", 40, HorizontalAlignment.Center); this.listView1.Columns.Add("程序版本", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("校验和", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("印字种类", 160, HorizontalAlignment.Center); this.listView1.Columns.Add("外盒标签", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("销售员姓名", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("工程师", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("包装形式", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("料管标签", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("备注2", 300, HorizontalAlignment.Center); this.listView1.Columns.Add("生产订单状态", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("完成数量", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("销售单号", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("客户代码", 100, HorizontalAlignment.Center); this.listView1.Columns.Add("程序路径", 500, HorizontalAlignment.Center); this.listView1.BeginUpdate(); //数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度 //for (int i = 0; i < 10; i++) //添加10行数据 //{ // ListViewItem lvi = new ListViewItem(); // //lvi.ImageIndex = i; //通过与imageList绑定,显示imageList中第i项图标 // lvi.Text = "subitem" + i; // lvi.SubItems.Add("第2列,第" + i + "行"); // lvi.SubItems.Add("第3列,第" + i + "行"); // this.listView1.Items.Add(lvi); //} //添加表格内容 //for (int i = 0; i < 6; i++) //{ // ListViewItem item = new ListViewItem(); // item.SubItems.Clear(); // item.SubItems[0].Text = "产品" + i.ToString(); // item.SubItems.Add(i.ToString()); // item.SubItems.Add((i + 7).ToString()); // item.SubItems.Add((i * i).ToString()); // listView1.Items.Add(item); //} this.listView1.EndUpdate(); //结束数据处理,UI界面一次性绘制。 //this.listView1.BackColor = Color.AliceBlue; //this.listView1.BackColor = Color.Beige; this.listView1.BackColor = Color.Gainsboro; //this.listView1.ContextMenuStrip = contextMenuStrip1; //这里不能直接赋值,不然没法控制显示条件 this.toolStripStatusLabel1.Text = System.DateTime.Now.ToString(); timer1.Interval = 1000; timer1.Start(); timer2.Start(); }
public string BarTenderPrintA4 <T>(IEnumerable <T> lists, BarTenderPrintConfigModelXX config, int totalPages) { string printerName = config.PrinterName; // 打印机名称 int templateTotalPage = config.TemplateSelectedItem.TemplateTotalPage; //一张A4纸里面的小张数 int pages = (int)Math.Ceiling(totalPages / (double)templateTotalPage); // 应该打印A4纸张数 int initPages = pages; //原始打印张数 int remainCount = totalPages % templateTotalPage; // 最后一个模板张数 string templateName = config.TemplateSelectedItem.TemplateFullName; //通用模板名称 string newtemplateName = remainCount == 0 ? Path.Combine(config.TemplateSelectedItem.TemplateFolderPath, $"1{config.TemplateSelectedItem.TemplateFileName.Substring(1)}") : Path.Combine(config.TemplateSelectedItem.TemplateFolderPath, $"{remainCount}{config.TemplateSelectedItem.TemplateFileName.Substring(1)}"); // 最后一个模板名称 BarTender.Application btApp = new BarTender.Application(); try { #region 整数张数数据打印 // 最多纸张模板 BarTender.Format btFormat = btApp.Formats.Open(templateName, false, ""); btFormat.PrintSetup.Printer = printerName; btFormat.PrintSetup.NumberSerializedLabels = 1; btFormat.PrintSetup.IdenticalCopiesOfLabel = 1; string nameValues = "," + btFormat.NamedSubStrings.GetAll("|", ","); Regex rg = new Regex(@",([^|]*)", RegexOptions.IgnoreCase); var fieldLists = GetTendarFieldName(nameValues.Replace(Environment.NewLine, ""), rg); // 剩余部分模板 BarTender.Format btFormat1 = null; List <string> fieldLists1 = new List <string>(); if (remainCount > 0) { btFormat1 = btApp.Formats.Open(newtemplateName, false, ""); btFormat1.PrintSetup.Printer = printerName; btFormat1.PrintSetup.NumberSerializedLabels = 1; btFormat1.PrintSetup.IdenticalCopiesOfLabel = 1; string nameValues1 = "," + btFormat1.NamedSubStrings.GetAll("|", ","); Regex rg1 = new Regex(@",([^|]*)", RegexOptions.IgnoreCase); fieldLists1 = GetTendarFieldName(nameValues1.Replace(Environment.NewLine, ""), rg1); } //对各个部分赋值 int beginPartId = 0; //StringBuilder logStrings = new StringBuilder(); foreach (var entry in lists) { //某行记录的打印张数,直接写日志 int printCount = GetPrintCountAndWriteLog(entry); // 如果本次打印张数超过一张A4纸上 while (printCount + beginPartId >= templateTotalPage) { for (int z = beginPartId; z < templateTotalPage; z++) { SetTemplateNamedSubStringValueToPartN(btFormat, fieldLists, entry, z); } printCount = printCount + beginPartId - templateTotalPage; beginPartId = 0; pages--; var s1 = btFormat.PrintOut(false, false); if (s1 != 0) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); return("打印结果不正常,打开模板手动打印取消警告窗口"); } } //单条记录完全打印最后新开一张A4打印的数据(先部分赋值,和剩下行记录数据一起打印) if (printCount > 0) { for (int z = beginPartId; z < printCount + beginPartId; z++) { if (pages == 1 && remainCount > 0) //最后一页把值赋到第二个模板上 { SetTemplateNamedSubStringValueToPartN(btFormat1, fieldLists1, entry, z); } else { SetTemplateNamedSubStringValueToPartN(btFormat, fieldLists, entry, z); } } beginPartId += printCount; } } // 如果是最后一张A4的打印情况下, 新开模板赋值打印 if (pages == 1) { if (remainCount == 0) { var s111 = btFormat.PrintOut(false, false); btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); if (s111 != 0) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); return("打印结果不正常,打开模板手动打印取消警告窗口"); } } else { var s222 = btFormat1.PrintOut(false, false); btFormat1.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); if (s222 != 0) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); return("打印结果不正常,打开模板手动打印取消警告窗口"); } } } #endregion // 写日志 //new CommonService().ExecuteSqlAsyncReturns(logStrings.ToString()); return("打印成功"); } catch (Exception ex) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); throw new Exception(ex.Message); } finally { if (btApp != null) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); } } }
public bool BarTenderOilSampleEntryMergePrint(BarTenderPrintConfigModel config, ObservableCollection <OilSampleEntryModel> data, int printTotalNum, List <BarTenderTemplateModel> barTenderTemplates) { string printerName = config.PrinterName; string templateName = barTenderTemplates.FirstOrDefault(m => m.TemplatePerPage == printTotalNum && m.TemplateTotalPage == 4).TemplateFullName; List <OilSampleFlowPrintLogModel> logs = new List <OilSampleFlowPrintLogModel>(); BarTender.Application btApp = new BarTender.Application(); try { BarTender.Format btFormat = btApp.Formats.Open(templateName, false, ""); btFormat.PrintSetup.Printer = printerName; string nameValues = "," + btFormat.NamedSubStrings.GetAll("|", ","); Regex rg = new Regex(@",([^|]*)", RegexOptions.IgnoreCase); var list = GetTendarFieldName(nameValues.Replace(Environment.NewLine, ""), rg); btFormat.PrintSetup.NumberSerializedLabels = 1; btFormat.PrintSetup.IdenticalCopiesOfLabel = 1; int z = 0; for (int i = 0; i < data.Count; i++) { var entry = data[i]; string batchNo = new OilSampleService().GetOilSampleEntryBatchNo(entry.Id); if (string.IsNullOrEmpty(batchNo)) { var seq = new CommonService().GetCurrentDateNextSerialNumber(entry.ProductionDate, "OilSamplePrintBatchNo"); batchNo = entry.ProductionDate.ToString("yyMMdd") + seq.ToString().PadLeft(3, '0'); } entry.BatchNo = batchNo; logs.Add(new OilSampleFlowPrintLogModel { FormsonId = entry.Id, FormmainId = entry.FormmainId, EntryId = entry.EntryId, PrintCount = entry.CurrencyPrintCount, PrintedCount = entry.PrintedCount + entry.CurrencyPrintCount, BatchNo = entry.BatchNo, TypeId = config.TemplateTypeId, TypeDesc = config.TemplateTypeName }); for (int j = 0; j < entry.CurrencyPrintCount; j++) { z++; if (entry.PrintedCount + entry.CurrencyPrintCount >= entry.PrintTotalCount && j == entry.CurrencyPrintCount - 1 && entry.TotalWeight % entry.WeightPerBucket != 0) { entry.WeightPerBucket = (float)Math.Round(entry.TotalWeight % entry.WeightPerBucket, 2); } switch (z) { case 1: SetTemplateNamedSubStringValueToPart1(btFormat, list, entry); break; case 2: SetTemplateNamedSubStringValueToPart2(btFormat, list, entry); break; case 3: SetTemplateNamedSubStringValueToPart3(btFormat, list, entry); break; case 4: SetTemplateNamedSubStringValueToPart4(btFormat, list, entry); break; default: break; } } } var s = btFormat.PrintOut(false, false); // 写日志 foreach (var item in logs) { var result = new OilSampleService().InsertOilSampleFlowLog2(item); if (!result) { return(false); } } btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); return(true); } catch (Exception ex) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); throw new Exception(ex.Message); } finally { if (btApp != null) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); } } }
public bool BarTenderExpressPrint(BarTenderPrintConfigModelXX config, decimal formmainId) { string printerName = config.PrinterName; string templateName = config.TemplateSelectedItem.TemplateFullName; BarTender.Application btApp = new BarTender.Application(); try { var data = new OilSampleService().GetExpressPrintData(formmainId); BarTender.Format btFormat = btApp.Formats.Open(templateName, false, ""); btFormat.PrintSetup.Printer = printerName; string nameValues = "," + btFormat.NamedSubStrings.GetAll("|", ","); Regex rg = new Regex(@",([^|]*)", RegexOptions.IgnoreCase); var list = GetTendarFieldName(nameValues.Replace(Environment.NewLine, ""), rg); btFormat.PrintSetup.IdenticalCopiesOfLabel = 1; btFormat.PrintSetup.NumberSerializedLabels = 1; //btFormat.SetNamedSubStringValue("AA", data.SendName); if (list.Contains("SendName")) { btFormat.SetNamedSubStringValue("SendName", data.SendName); } if (list.Contains("SendPhone")) { btFormat.SetNamedSubStringValue("SendPhone", data.SendPhone); } if (list.Contains("SendCompanyName")) { btFormat.SetNamedSubStringValue("SendCompanyName", data.SendCompanyName); } if (list.Contains("SendAddress")) { btFormat.SetNamedSubStringValue("SendAddress", data.SendAddress); } if (list.Contains("ContractMan")) { btFormat.SetNamedSubStringValue("ContractMan", data.ContractMan); } if (list.Contains("ContractPhone")) { btFormat.SetNamedSubStringValue("ContractPhone", data.ContractPhone); } if (list.Contains("ContractCompanyName")) { btFormat.SetNamedSubStringValue("ContractCompanyName", data.ContractCompanyName); } if (list.Contains("ContractAddress")) { btFormat.SetNamedSubStringValue("ContractAddress", data.ContractAddress); } /* var s= 结果是0 可能是成功的意思 */ var s = btFormat.PrintOut(false, false); btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); return(true); } catch (Exception ex) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); throw new Exception(ex.Message); } finally { if (btApp != null) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); } } }
public string BarTenderOilSamplePrint(BarTenderPrintConfigModel config, OilSampleEntryModel data) { string weightPerBucket = string.Empty; string weightPerBucketLast = string.Empty; string printerName = config.PrinterName; string templateName = config.TemplateFullName; BarTender.Application btApp = new BarTender.Application(); try { // 获取批次号(先获取打印记录的,如果没有就获取新的) string batchNo = new OilSampleService().GetOilSampleEntryBatchNo(data.Id); if (string.IsNullOrEmpty(batchNo)) { var seq = new CommonService().GetCurrentDateNextSerialNumber(data.ProductionDate, "OilSamplePrintBatchNo"); batchNo = data.ProductionDate.ToString("yyMMdd") + seq.ToString().PadLeft(3, '0'); } //int printCount = data.CurrencyPrintCount % config.TemplatePerPage == 0 ? data.CurrencyPrintCount / config.TemplatePerPage : data.CurrencyPrintCount / config.TemplatePerPage + 1; BarTender.Format btFormat = btApp.Formats.Open(templateName, false, ""); btFormat.PrintSetup.Printer = printerName; string nameValues = "," + btFormat.NamedSubStrings.GetAll("|", ","); Regex rg = new Regex(@",([^|]*)", RegexOptions.IgnoreCase); var list = GetTendarFieldName(nameValues.Replace(Environment.NewLine, ""), rg); btFormat.PrintSetup.NumberSerializedLabels = 1; btFormat.PrintSetup.IdenticalCopiesOfLabel = 1; weightPerBucket = data.WeightPerBucket.ToString(); weightPerBucketLast = data.WeightPerBucket.ToString(); //for (int i = 0; i < printCount; i++) //{ // 最后一张(已打张数+本次打印数量 >=总张数 的最后一页) if (data.TotalWeight % data.WeightPerBucket != 0 && data.PrintedCount + data.CurrencyPrintCount >= data.PrintTotalCount) { weightPerBucketLast = (Math.Round(data.TotalWeight % data.WeightPerBucket, 2)).ToString(); } if (list.Contains("ProductionDate")) { btFormat.SetNamedSubStringValue("ProductionDate", data.ProductionDate.ToString("yyyy-MM-dd")); } if (list.Contains("ProductionModel")) { btFormat.SetNamedSubStringValue("ProductionModel", data.ProductionModel); } if (list.Contains("ProductionName")) { btFormat.SetNamedSubStringValue("ProductionName", data.ProductionName); } if (list.Contains("ExpirationMonth")) { btFormat.SetNamedSubStringValue("ExpirationMonth", data.ExpirationMonth); } if (list.Contains("BatchNo")) { btFormat.SetNamedSubStringValue("BatchNo", batchNo); } if (list.Contains("CheckNo")) { btFormat.SetNamedSubStringValue("CheckNo", data.CheckNo); } if (list.Contains("RoughWeight")) { btFormat.SetNamedSubStringValue("RoughWeight", data.RoughWeight); } if (list.Contains("WeightPerBucket")) { btFormat.SetNamedSubStringValue("WeightPerBucket", weightPerBucket); } if (list.Contains("WeightPerBucketLast")) { btFormat.SetNamedSubStringValue("WeightPerBucketLast", weightPerBucketLast); } var s = btFormat.PrintOut(false, false); //} btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); return(batchNo); } catch (Exception ex) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); throw new Exception(ex.Message); } finally { if (btApp != null) { btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); } } }
//打印条码 public void OnPrintSampleBarcode(string barcode, int pageCount, string nameCode) { bool addjkbool = false; DataTable dt = null; if (grjdxx != null) { string cardcode = grjdxx.Cardcode; if (!"".Equals(cardcode)) { dt = grjddao.judgeRepeat(textBox3.Text); } else { dt = grjddao.judgeRepeatBync(textBox1.Text, textBox8.Text); } if (dt.Rows.Count < 1) { if (!"".Equals(cardcode)) { grjdxx.archive_no = cardcode; } grjdxx.doctor_id = basicInfoSettings.zeren_doctorId; grjddao.addgrjdInfo(grjdxx); //添加个人信息档案 registrationRecordCheck(); //右侧统计 } else { grjdxx.archive_no = dt.Rows[0]["archive_no"].ToString(); grjddao.updategejdInfonew(grjdxx, 0); //grjdxx.archive_no = dt.Rows[0]["archive_no"].ToString(); //grjdxx.doctor_id= dt.Rows[0]["doctor_id"].ToString(); //grjddao.updateGrjdInfo(grjdxx.archive_no, grjdxx.photo_code); //grjddao.updategejdInfo(grjdxx); } grjddao.addPhysicalExaminationInfo(grjdxx, barcode);//添加健康体检表信息 jkBean jk = new jkBean(); jk.aichive_no = grjdxx.archive_no; jk.id_number = grjdxx.Cardcode; jk.bar_code = barcode; jk.Pic1 = grjdxx.CardPic; jk.Pic2 = grjdxx.Cardcode + ".jpg"; jk.village_code = basicInfoSettings.xcuncode; jk.address = grjdxx.Zhuzhi; jk.name = grjdxx.name; jk.sex = grjdxx.Sex; jk.age = grjdxx.age; jk.JddwName = basicInfoSettings.organ_name; jk.JdrName = basicInfoSettings.input_name; jk.ZrysName = basicInfoSettings.zeren_doctor; jk.XzjdName = basicInfoSettings.xzName; jk.CjwhName = basicInfoSettings.xcName; addjkbool = grjddao.addJkInfo(jk); textBox5.Text = jk.aichive_no; textBox6.Text = barcode; if (addjkbool) { //体检信息统计表 grjddao.addBgdcInfo(grjdxx, barcode, basicInfoSettings.xcuncode); } } try { if (addjkbool) { //调用Bartender btApp = new BarTender.Application(); //获取打印模板,指定打印机 btFormat = btApp.Formats.Open(@str + "\\cs1.btw", false, ""); // 同样标签的份数 btFormat.PrintSetup.IdenticalCopiesOfLabel = pageCount; // 序列标签数 btFormat.PrintSetup.NumberSerializedLabels = 1; //设置参数 code btFormat.SetNamedSubStringValue("code", barcode); btFormat.SetNamedSubStringValue("nameCode", nameCode); //打印开始 第2个参数是 是否显示打印机属性的。可以设置打印机路径 btFormat.PrintOut(false, false); //关闭摸板文件,并且关闭文件流 btFormat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); //打印完毕 btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); jkjcheckdao.updateShDevice(-1, -1, 1, -1, -1, -1, -1, -1, -1, -1); } } catch (Exception e) { loginLogBean lb = new loginLogBean(); lb.name = frmLogin.name; lb.createTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); lb.eventInfo = "打印机设备连接不正确!"; lb.type = "3"; logservice.addCheckLog(lb); MessageBox.Show(e.Message + "---" + e.StackTrace); MessageBox.Show("打印机设备连接不正确,请重新连接或重启!"); jkjcheckdao.updateShDevice(-1, -1, 0, -1, -1, -1, -1, -1, -1, -1); } Common.SetComboBoxInfo(comboBox7, ltdorganizationDao.GetShengInfo());//默认区域 DataTable dtbasic = bsdao.checkBasicsettingInfo(); if (dtbasic.Rows.Count > 0) { xcuncode = dtbasic.Rows[0]["cun_code"].ToString(); shengcode = dtbasic.Rows[0]["sheng_code"].ToString(); Common.SetComboBoxInfo(comboBox6, ltdorganizationDao.GetCityInfo(shengcode)); shicode = dtbasic.Rows[0]["shi_code"].ToString(); Common.SetComboBoxInfo(comboBox3, ltdorganizationDao.GetCountyInfo(shicode)); qxcode = dtbasic.Rows[0]["qx_code"].ToString(); Common.SetComboBoxInfo(comboBox4, areadao.zhenInfo(qxcode)); xzcode = dtbasic.Rows[0]["xz_code"].ToString(); Common.SetComboBoxInfo(comboBox5, areadao.cunInfo(xzcode)); //因为名称有可能对应不上那么就用code对应 Common.SetComboBoxSelectIndex(comboBox7, shengcode); Common.SetComboBoxSelectIndex(comboBox6, shicode); Common.SetComboBoxSelectIndex(comboBox3, qxcode); Common.SetComboBoxSelectIndex(comboBox4, xzcode); Common.SetComboBoxSelectIndex(comboBox5, xcuncode); } }
private void DoPrintTicketInfoSpecial(DataRow drBtn) { DataRow[] drTabs = dtTabs.Select("TabName='" + xtabItemInfo.SelectedTabPage.Name + "'"); if (drTabs.Length <= 0) { return; } DataRow drTab = drTabs[0]; GridView gridVMain = gcItems[drTab["GridViewName"].ToString()]; if (gridVMain.SelectedRowsCount <= 0) { MessageBox.Show("请选择要打印的明细记录."); return; } string strIds = string.Empty; List <string> lisIds = new List <string>(); string strKeyFiled = drTab["EditInfoKeyId"].ToString(); string strRptName = drBtn["TicketTempName"].ToString(); string strSpFlag = drBtn["TicketSpFlag"].ToString(); foreach (int i in gridVMain.GetSelectedRows()) { DataRow dr = gridVMain.GetDataRow(i); lisIds.Add(dr[strKeyFiled].ToString()); strIds += strIds == string.Empty ? dr[strKeyFiled].ToString() : "," + dr[strKeyFiled].ToString(); } List <string> lisSpParmValue = new List <string>(); string[] strKeyP = "Key_Ids,EUser_Id,EDept_Id,Fy_Id,flag".Split(",".ToCharArray()); lisSpParmValue.AddRange(new string[] { strIds, CApplication.App.CurrentSession.UserId.ToString(), CApplication.App.CurrentSession.DeptId.ToString(), CApplication.App.CurrentSession.FyId.ToString(), strSpFlag }); DataTable dtAdd = this.DataRequest_By_DataTable(strSpName, strKeyP, lisSpParmValue.ToArray()); if (dtAdd == null) { return; } try { BarTender.Application btdb = new BarTender.Application(); string strPrintPath = Application.StartupPath + @"\打印模板\" + strRptName + ".btw"; try { foreach (string strId in lisIds)//保证按客户端顺序打印 { DataRow[] drPrints = dtAdd.Select(strKeyFiled + "=" + strId); { if (drPrints.Length > 0) { StaticFunctions.PrintItem(btdb, drPrints[0], strPrintPath, strKeyFiled, frmImageFilePath); } } } } catch (Exception err) { MessageBox.Show("打印出错:" + err.Message); } finally { btdb.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); } } catch (Exception) { MessageBox.Show("初始化打印出错,可能未安装BarTender."); } }
private void DoPrintTicketInfoSpecial(DataRow drBtn) { string strIds = string.Empty; List <string> lisIds = new List <string>(); if (drBtn["IsPrintTicketAll"].ToString() == "True") { for (int i = 0; i < gridVMain.RowCount; i++) { DataRow dr = gridVMain.GetDataRow(i); lisIds.Add(dr[strKeyFiled].ToString()); strIds += strIds == string.Empty ? dr[strKeyFiled].ToString() : "," + dr[strKeyFiled].ToString(); } } else { if (gridVMain.SelectedRowsCount <= 0) { MessageBox.Show("请选择要打印的明细记录."); return; } foreach (int i in gridVMain.GetSelectedRows()) { DataRow dr = gridVMain.GetDataRow(i); lisIds.Add(dr[strKeyFiled].ToString()); strIds += strIds == string.Empty ? dr[strKeyFiled].ToString() : "," + dr[strKeyFiled].ToString(); } } string strRptName = string.Empty; string strSpFlag = string.Empty; string strTitle = string.Empty; if (!StaticFunctions.GetBtnMRpt(dtBtnsM, drBtn, gridVMain.GetFocusedDataRow(), strKeyFiled, this , drBtn["TicketTempName"].ToString(), drBtn["TicketSpFlag"].ToString(), "" , out strRptName, out strSpFlag, out strTitle)) { return; } List <string> lisSpParmValue = new List <string>(); string[] strKeyP = "Key_Ids,EUser_Id,EDept_Id,Fy_Id,flag".Split(",".ToCharArray()); lisSpParmValue.AddRange(new string[] { strIds, CApplication.App.CurrentSession.UserId.ToString(), CApplication.App.CurrentSession.DeptId.ToString(), CApplication.App.CurrentSession.FyId.ToString(), strSpFlag }); DataTable dtAdd = this.DataRequest_By_DataTable(strSpName, strKeyP, lisSpParmValue.ToArray()); if (dtAdd == null) { return; } try { BarTender.Application btdb = new BarTender.Application(); string strPrintPath = Application.StartupPath + @"\打印模板\" + strRptName + ".btw"; try { foreach (string strId in lisIds)//保证按客户端顺序打印 { DataRow[] drPrints = dtAdd.Select(strKeyFiled + "=" + strId); { if (drPrints.Length > 0) { StaticFunctions.PrintItem(btdb, drPrints[0], strPrintPath, strKeyFiled, frmImageFilePath); } } } } catch (Exception err) { MessageBox.Show("打印出错:" + err.Message); } finally { btdb.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges); } } catch (Exception) { MessageBox.Show("初始化打印出错,可能未安装BarTender."); } }