使用FastReport类库实现zebra斑马打印机的简单操作

发布时间 2023-11-27 19:14:07作者: 别动我神奇小饼干

使用FastReport类库实现zebra斑马打印机的简单操作

1.首先引入需要的类库

 

 

2.需要提前通过fastreport制作一个模板,并制定一些需要替换的变量

这个套路的原理就是替换模板中的变量数据,达到输出不同的内容,如果没有替换,变量默认是空白的内容

关于模板制作方面后续会在分享

 
            
var report = new Report(); try { // _printInfo.PrintMachineName = "ZDesigner ZD421CN-300dpi ZPL"; _printInfo.PrintMachineName = ConfigurationSettings.AppSettings["ConnectionStr"];
//printInFo类是自定义类,并不重要,作为替换内容的载体,但打印机的name非常重要,这里关系到连接的打印机,调用局域网的打印机,这需要修改这里增加域名ip即可 if (string.IsNullOrWhiteSpace(_printInfo.PrintMachineName)) { MessageBox.Show("未设置打印机!"); return; } //获得模板的路径 string reportPath = System.IO.Directory.GetCurrentDirectory() + @"\" + "ReportFile\\测试.frx"; //这里有一个事先已经做好的模板 //判断文件是否存在 if (!File.Exists(reportPath)) { MessageBox.Show("标签模板不存在!请先获取标签模板!"); } //清空 report.Clear(); //加载报表模板 report.Load(reportPath); report.SetParameterValue("WinCode", _printInfo.Wip); //report.SetParameterValue("planno", _printInfo.PlanCode); //report.SetParameterValue("creattime", _printInfo.Time); //report.SetParameterValue("opcode", _printInfo.UserID); //report.SetParameterValue("orderno", _printInfo.OnlineOrderNo); //report.SetParameterValue("lotno", _printInfo.OnlineOrderNo); //report.SetParameterValue("eqpno", _printInfo.EquipmentCode); //report.SetParameterValue("allnum", _printInfo.Count); //report.SetParameterValue("oknum", ""); //report.SetParameterValue("ngnum", ""); //report.SetParameterValue("gd", _printInfo.SectionCode); //report.SetParameterValue("gw", _printInfo.StationCode); //report.SetParameterValue("gx", _printInfo.ProcessCode); //report.SetParameterValue("bc", _printInfo.ShiftCode); //预览面单
这里是具体替换内容,根据个人需求替换对应的即可,键内容是模板中设计的变量,值是实际的内容
*/ report.SetParameterValue("code", _code); //这里可以弹出报表设计工具,由dll集成,不需要可以注释 //报表设计,调试过程中进行调整 //report.Design(); report.Show(); //默认不显示打印机选择页面,这里显示的预览界面 report.PrintSettings.ShowDialog = false; //当前操作打印机 report.PrintSettings.Printer = _printInfo.PrintMachineName;
//设置打印机用户名 Thread.Sleep(4000); //启动打印 report.Print(); //关闭连接 report.Dispose(); } catch (Exception ex) { MessageBox.Show($"{ex.Message}"); report.Dispose(); } }