• WebBrowser 打印设置,打印预览,去页眉和页脚


    WebBrowser是IE内置的浏览器控件,无需用户下载.

    一、WebBrowser控件
      <object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
    二、WebBrowder控件的方法
    //打印

    WebBrowser1.ExecWB(6,1);

    //打印设置

    WebBrowser1.ExecWB(8,1);

    //打印预览

    WebBrowser1.ExecWB(7,1);

    关于这个组件还有其他的用法,列举如下:
    WebBrowser.ExecWB(1,1) 打开
    Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
    Web.ExecWB(4,1) 保存网页
    Web.ExecWB(6,1) 打印
    Web.ExecWB(7,1) 打印预览
    Web.ExecWB(8,1) 打印页面设置
    Web.ExecWB(10,1) 查看页面属性
    Web.ExecWB(15,1) 好像是撤销,有待确认
    Web.ExecWB(17,1) 全选
    Web.ExecWB(22,1) 刷新
    Web.ExecWB(45,1) 关闭窗体无提示
    但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:
    样式内容:
    <style type="text/css" media=print>
    .noprint{display : none }
    </style>
    然后使用样式就可以:
    <p class="noprint">不需要打印的地方</p>

    代码如下:

    <script language="javascript">
    function printsetup(){
    // 打印页面设置
    wb.execwb(8,1);
    }
    function printpreview(){
    // 打印页面预览

    wb.execwb(7,1);

    }

    function printit()
    {
    if (confirm('确定打印吗?')) {
    wb.execwb(6,6)
    }
    }
    </script>

    <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>
    <input type=button name=button_print value="打印" class="noprint" onclick="javascript:printit()">
    <input type=button name=button_setup value="打印页面设置" class="noprint" onclick="javascript:printsetup();">
    <input type=button name=button_show value="打印预览" class="noprint" onclick="javascript:printpreview();">




    ----------------------------------------------------------------------
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <script type="text/javascript">  
         var HKEY_Root,HKEY_Path,HKEY_Key;   
         HKEY_Root="HKEY_CURRENT_USER";   
         HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";   
             //设置网页打印的页眉页脚为空   
         function PageSetup_Null()  
          {   
            try {   
                    var Wsh=new ActiveXObject("WScript.Shell");   
            HKEY_Key="header";   
            Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");   
            HKEY_Key="footer";   
            Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");   
            }  catch(e){}   
          }   
          //恢复网页打印的页眉页脚  
          function PageSetup_default()  
          {   
            try {   
                    var Wsh=new ActiveXObject("WScript.Shell");   
            HKEY_Key="header";   
            Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P");   
            HKEY_Key="footer";   
            Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");   
            }  catch(e){}   
          }   

    function printsetup(){
    // 打印页面设置
    wb.execwb(8,1);
    }
    function printpreview(){
    // 打印页面预览
    PageSetup_Null();
    wb.execwb(7,1);

    }

    function printit()
    {
    if (confirm('确定打印吗?')) {
    PageSetup_Null();
    wb.execwb(6,6)
    }
    }

    </script> 
    <style type="text/css" media=print>
    .noprint{display : none }
    </style>
    </HEAD>

    <BODY>
    <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>
    <input type=button name=button_print value="打印" class="noprint" onclick="javascript:printit()">
    <input type=button name=button_setup value="打印页面设置" class="noprint" onclick="javascript:printsetup();">
    <input type=button name=button_show value="打印预览" class="noprint" onclick="javascript:printpreview();">
    </BODY>
    </HTML>

    ----------------------------------------------------------------------
    注意有可能执行时,会出现没有效果的错误,这时原因是可能你的浏览器限制了active对象的创建,只要取消限制就好了,取消方法如下:

    打开你的ie浏览器internet选项—— 安全—— 自定义级别—— 把对没有标记为安全的activex控件进行初始化和脚本运行 设置为启用
  • 相关阅读:
    sql server 中各个系统表的作用==== (转载)
    后台动态设置前台标签内容和属性
    利用C#编写一个简单的抓网页应用程序
    如何创建和使用Web Service代理类
    jdbc如何取得存储过程return返回值
    子窗口和父窗口的函数或对象能否相互访问 (转载)
    把aspx文件编译成DLL文件
    C#中的类型转换
    c#中对文件的操作小结
    转贴一篇 自定义数据库 希望对你有帮助
  • 原文地址:https://www.cnblogs.com/conquer/p/1505655.html
Copyright © 2020-2023  润新知