Fineui 添加打印控件

    

 由于在Fineui 的项目中我需要打印报表和一些标签(不干胶标签,有条码,2维码),因为程序可能要给不同的客户使用报表和标签可能会有区别,所以希望可以把报表设计成模板,直接提取数据打印即可(不同的客户只需要变化模板就可以了,代码不需要修改)。看了很多WEB打印控件都觉得不是很方便,很早以前我用个一个叫 “楚林web打印控件”感虽然只支持IE,但是感觉还是很好使用的不仅可以制作模板,还可以用他的打印预览功能导出各种格式,比如 TIF ,pdf,exel等。所以打算使用这个控件。下面看代码吧,也比较简单,虽然不是很完美但是可以使用就好。 (截图不清晰)


在前段页面的Toolbars中放置两个按钮一个预览一个打印。

需要注意的就是  红色的部分因为后台要使用Response.Write 输出相关的js代码。


<f:Button ID="Button_Preview" runat="server" Icon="magnifier" Text="预览" OnClick="BtnDepositPreview_Click" EnableAjax="False" />
<f:Button ID="Button_Print" runat="server" Icon="printer" Text="打印" OnClick="BtnDepositPrint_Click" EnableAjax="False" />     



后台



 protected void BtnDepositPreview_Click(object sender, EventArgs e)
        {

            ddgz.BLL.YP bll = new ddgz.BLL.YP();
            string FileValue, PrintValue, ParaName, ParaValue;

            FileValue =Print.FileToString("..\\..\\Frp\\YP1.fr3");
            ParaName = "ShopName`~PrintDepositAdd`~PrintPaperNo`~Title";  //`~为各参数的分隔符
            ParaValue = "测试酒楼"
                      + "`~说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。       贵重物品请交前台寄存,未寄存丢失自负。      谢谢!"
                      + "`~身份证:4325011980639512"
                      + "`~押金单";

            DataSet printDS = bll.GetList("Djlsh=1");
            PrintValue = Print.TableToXml(printDS.Tables[0]);
            printDS.Dispose();
          
            string ScriptStr;
            ScriptStr = "<script language='javascript'>window.onload = function() { try { var ObjPrintMange =  new ActiveXObject('WebPrint.WebPrintUnit'); } catch(e) { if( confirm('打印控件未安装,现在下载吗?') ) { window.location='./PrintActivex.exe'; } return; } var OldVersion=ObjPrintMange.Version; NewVerion='5.0(2011-08-01)'; if(OldVersion < NewVerion) { ObjPrintMange = null; alert('打印控件需升级。请先进行下载,下载后关闭IE,然后安装升级版。'); window.location='./PrintActivex.exe'; return;  } "
                     + " ObjPrintMange.CheckReg('一铭软件[15000097030]', 'AA2D538A9B997A2ACD28FC56408C9BF8'); "  //注册码                    
                     + "ObjPrintMange.ShowReport('"
                     + FileValue + "' , '"
                     + ParaName + "', '"
                     + ParaValue + "', '"
                     + PrintValue + "', '', '', '', '', '');"
                     + "ObjPrintMange = null; } </script>";

        //   ScriptStr = "'" + FileValue + "' , '" + ParaName + "', '" + ParaValue + "', '" + PrintValue + "'";


            ScriptStr = ScriptStr.Replace(System.Environment.NewLine, string.Empty);
            Response.Write(ScriptStr);

        }

        protected void BtnDepositPrint_Click(object sender, EventArgs e)
        {

            ddgz.BLL.YP bll = new ddgz.BLL.YP();
            string FileValue, PrintValue, ParaName, ParaValue;

            FileValue = Print.FileToString("..\\..\\Frp\\YP1.fr3");
            ParaName = "ShopName`~PrintDepositAdd`~PrintPaperNo`~Title";  //`~为各参数的分隔符
            ParaValue = "测试酒楼"
                      + "`~说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。       贵重物品请交前台寄存,未寄存丢失自负。      谢谢!"
                      + "`~身份证:4325011980639512"
                      + "`~押金单";

            DataSet printDS = bll.GetList("Djlsh=1");
            PrintValue = Print.TableToXml(printDS.Tables[0]);
            printDS.Dispose();
          //  ConPrintTest.Close();

            string ScriptStr;

            ScriptStr = "<script language='javascript'>window.onload = function() { try { var ObjPrintMange =  new ActiveXObject('WebPrint.WebPrintUnit'); } catch(e) { if( confirm('打印控件未安装,现在下载吗?') ) { window.location='./PrintActivex.exe'; } return; } var OldVersion=ObjPrintMange.Version; NewVerion='5.0(2011-08-01)'; if(OldVersion < NewVerion) { ObjPrintMange = null; alert('打印控件需升级。请先进行下载,下载后关闭IE,然后安装升级版。'); window.location='./PrintActivex.exe'; return;  } "
                     + " ObjPrintMange.CheckReg('一铭软件[15000097030]', 'AA2D538A9B997A2ACD28FC56408C9BF8'); "  //注册码   
                     + "ObjPrintMange.PrintReport('"
                     + FileValue + "' , '"
                     + ParaName + "', '"
                     + ParaValue + "', '"
                     + PrintValue + "', '', '', '', '', '');"
                     + "ObjPrintMange = null;} </script>";  //window.location转向新的网页
            ScriptStr = ScriptStr.Replace(System.Environment.NewLine, string.Empty);

            Response.Write(ScriptStr);
        }


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值