C#调用FastReport模板进行打印

 其实整个流程代码比较简单,就是在二维码这块遇到点问题,直接调用模板不能打印二维码,出来的是默认的Code39码制的一维码,后来在这位仁兄的博客下找到了解决方法

https://www.cnblogs.com/healer007/p/9017909.html

记录如下:

private void PrintHZPackOne(HZTagModelInfo hZTagModelInfo, HZPackOneInfo one_insert)
        {
            try
            {
                Report rp = new Report();//打印类
                rp.Clear();//清除缓存
                rp.Load(@"Print\HZPackOne.frx");//加载模板
                var ProduceName = rp.FindObject("ProduceName") as TextObject;//产品名称
                if (ProduceName != null)
                {
                    ProduceName.Text = one_insert.TagName;
                }

                var Barcode1_SN = rp.FindObject("Barcode1_SN") as BarcodeObject;//一维码
                if (Barcode1_SN != null)
                {
                    Barcode1_SN.Text = one_insert.SN;
                    Barcode1_SN.Barcode = new Barcode128();
                }

                var Barcode2_SN = rp.FindObject("Barcode2_SN") as BarcodeObject;//二维码
                if (Barcode2_SN != null)
                {
                    Barcode2_SN.Text = one_insert.SN;
                    Barcode2_SN.Barcode = new BarcodeQR();
                }

                rp.PrintSettings.ShowDialog = false; //直接打印  True时先预览再打印
                rp.Print();
                rp.Dispose();
            }
            catch (Exception ex)
            {
                XtraMessageBox.Show("打印出错!\r\n" + ex.Message, "消息", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

 要注意的是需要调用FastReport.dll,而且要新一点的版本,能够支持BarcodeQR方法的就可以

展开阅读全文

没有更多推荐了,返回首页