javascript结合WebBrowser实现打印预览、直接打印、页

javascript中的print函数实现了直接打印页面元素的功能,可是并没有实现页面预览、页面设置等功能。要实现它们需要借助于微软的WebBrowser组件。

WebBrowser已经内置于ie中,客户端不需要安装,我们只需要在页面中引用就OK了。

 

以下为引用的内容:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">

    <script language="javascript" type="text/javascript">
    <!--
    //打印预览
     function   printPreview()  
      {  
        var   e   =   event.srcElement;  
        e.style.visibility   =   "hidden"; 
         document.getElementById("btnPrint").style.display="none";
        document.all.WebBrowser1.ExecWB(7,1);
        e.style.visibility   =   "visible";
        document.getElementById("btnPrint").style.display=""; 
      } 
      
    //页面设置
    function pageSet()  
      {  
        document.all.WebBrowser1.ExecWB(8,1);
      }  
     
    //另存为
    function print()  
      {  
        var   e   =   event.srcElement;  
        e.style.visibility   =   "hidden"; 
         document.getElementById("btnPreview").style.display="none";
        document.all.WebBrowser1.ExecWB(4,1);
        e.style.visibility   =   "visible";  
        document.getElementById("btnPreview").style.display="";
      }  
     
    function RdlcPrint(RDLCName) //打印函数
    {
        var RdlcFrame=window.frames['ReportFrame'+RDLCName].frames['report']//两个Frame嵌套。。
        RdlcFrame.focus();//此句必须
        RdlcFrame.print();//打印
    }

    function Button2_onclick() //实现打印
    {
        RdlcPrint('ReportViewer1');
    }


    -->
    </script>

</head>
<body>
    <form id="form1" runat="server">
        <input id="btnPreview" type="button" value="打印预览" onclick="printPreview()" />
        <input id="btnPrint" type="button" value="打印设置" onclick="pageSet()" />
        <object id="WebBrowser1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
        </object>
     
    </form>
</body>
</html>

javascript对WebBrowser的操作设置其它功能:
 <input   name=Button   onClick=document.all.WebBrowser.ExecWB(4,1)   type=button   value=另存为>    
  <input   name=Button   onClick=document.all.WebBrowser.ExecWB(17,1)   type=button   value=全选>  
  <input   name=Button   onClick=document.all.WebBrowser.ExecWB(10,1)   type=button   value=属性>  
  <input   name=Button   onClick=document.all.WebBrowser.ExecWB(6,1)   type=button   value=打印>  
  <input   name=Button   onClick=document.all.WebBrowser.ExecWB(6,6)   type=button   value=直接打印>  
  <input   name=Button   onClick=document.all.WebBrowser.ExecWB(8,1)   type=button   value=页面设置>  

posted @ 2010-11-23 16:01  架构师聊技术  阅读(717)  评论(0编辑  收藏  举报