zoukankan      html  css  js  c++  java
  • web打印 window.print()

    我只给出比较有效的,方便的打印方法,有些WEB打印是调用ActiveX控件的,这样就需要用户去修改自己IE浏览器的Internet选项里的安全里的ActiveX,将它们全部启用,有些麻烦,翻了下网络,下面的方法是可以直接打印,而不会去修改IE的Internet选项。

    window.print来打印页面,页面上别的元素也会被打印处理,页头页尾的格式也不好控制。
    • 常用方法:大部分情况会把查询的结果绑定到DataGrid上来,然后打印DataGrid。这种情况的打印一般来说格式比较固定简单,确定后基本不会再作更改。所以可以采用IE直接打印。
     
    【实例代码】
    注:①这是客户端通过window.print打印指定内容。这里定义sprnstr和eprnstr来指定内容
         执行代码:
    <input type="button" name="print" value="预览并打印" onclick="preview()">

         ②如果直接使用window.print将打印页面上的所有内容,但是我们可以使用
    <style> @media Print { .Noprn { DISPLAY: none }}
    是用来指定不打印的内容。
     

    <script language="Javascript">
    function preview()
    {
        bdhtml=window.document.body.innerHTML;
        sprnstr="<!--startprint-->";
        eprnstr="<!--endprint-->";
        prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
        prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
        window.document.body.innerHTML=prnhtml;
        window.print();
    }
    </script>
    <!--省略部分代码-->
    <form id="WebForm1" method="post" runat="server">
         <center>本部分以上不被打印</center>
         <!--startprint-->
         <div align="center">
             <asp:DataGrid id="dgShow" runat="server">
                  <!--省略部分代码-->
             </asp:DataGrid>
         </div>
         <!--endprint-->
         <center>本部分以下不被打印</center>
         <div align="center">
             <input type="button" name="print" value="预览并打印" onclick="preview()">
         </div>
         <style> @media Print { .Noprn { DISPLAY: none }}
         </style>
         <p class="Noprn">不打印</p>
         <table id="datagrid">
             <tr>
                  <td>打印</td>
             </tr>
         </table>
         <input class="Noprn" type="button" onclick="window.print()" value="print">
    </form>
        最主要的一句就是:

    <input class="Noprn" type="button" onclick="window.print()" value="print">
        这样就可以打印了,通过设置CSS属性,将很容易控制哪些需要打印,哪些不需要打印,而且这样的打印是没有附加的页眉和页码的信息的。

  • 相关阅读:
    计算机为什么要从 0 开始计数?
    MySQL索引结构为什么是B+树
    expdp导出报错ORA-39127
    expdp 跳过坏块
    (转)没有索引导致的DIRECT PATH READ
    Python的实用场景有哪些
    Oracle索引修复 ,ORA-00600: internal error code, arguments: [6200],
    CentOS7.6静默安装19C实例脚本 ORA-27125 [FATAL] [DBT-10322]
    ORA-00313: 无法打开日志组
    cursor: pin S wait on X等待事件的处理过程(转载)
  • 原文地址:https://www.cnblogs.com/jameshappy/p/2445348.html
Copyright © 2011-2022 走看看