zoukankan      html  css  js  c++  java
  • 【Vegas原创】WEB打印部分页面

    经过两天的摸索,在网上搜集了大量的资料,总算是把打印部分搞定了,现在给大家分享一下心得:

    在此之前,我先介绍一下Execb用法:

    1. 插入引用:

    <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0></OBJECT> 

    2. 在body里写此类似代码:

    <INPUT onclick="document.all.WebBrowser.ExecWB(17,1)" type="button" value="全选" name="Button" ID="Button8"> 
    <INPUT onclick="document.all.WebBrowser.ExecWB(22,1)" type="button" value="刷新" name="Button"  ID="Button9">

    ExeCB常用参数说明:
      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,具体如下:
    定义如下style:

    @media print {
       .notprint {
               display:none;
               }
    }

    @media screen {
       .notprint {
               display:inline;
               cursor:hand;
               }
    }

    所有需要显示但不需要打印(预览)的元素都加上: class='notprint'


    情况二:针对只打印(预览)页面上某个区块内容的情况,其解决办法是:定义一个专用的预览页面review.htm,其内容如下:

    <head>
    <meta HTTP-EQUIV="Content-Type" content="text/html; charset=gb2312">
    <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0></OBJECT> 
    </head>
    <style>
    @media print {
       .notprint {
           display:none;
           }
    }

    @media screen {
       .notprint {
           display:inline;
           cursor:hand;
           }
    }
    </style>
    <body>
    </body>
    <script>
    function window.onload(){
        
    var printArea=opener.document.all.printArea;
        window.document.body.innerHTML
    =printArea.innerHTML;
        window.focus();
        window.document.all.WebBrowser.ExecWB(
    7,1);
        window.close();
    }
    </script>


    需要预览的时候只要这样调用:
    window.open("review.htm")
    说明:要打印的区域要用<div id=printArea>和</div>围起来。




    喜欢请赞赏一下啦^_^
  • 相关阅读:
    OPENSSL库使用--AES篇
    Linux inotify功能及实现原理
    LSI RAID
    Linux下关于热插拔硬盘的指令
    最长回文字串理解(学习Manacher's algorithm)
    pat 1068 动态规划/Fina More Conis
    (二)Myeclipse中关于jdk配置,解决版本不一致问题
    (一)MyEclipse配置Tomcat,与jsp程序运行
    pat 1047 解题心得
    pat 1038 Smallest Number解题心得
  • 原文地址:https://www.cnblogs.com/amadeuslee/p/3744734.html
Copyright © 2011-2022 走看看