web打印 window.print()介绍

时间:2022-10-22 23:50:59 

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

window.print来打印页面,页面上别的元素也会被打印处理,页头页尾的格式也不好控制。
• 常用方法:大部分情况会把查询的结果绑定到DataGrid上来,然后打印DataGrid。这种情况的打印一般来说格式比较固定简单,确定后基本不会再作更改。所以可以采用IE直接打印。

【实例代码】
注:①这是客户端通过window.print打印指定内容。这里定义sprnstr和eprnstr来指定内容
     执行代码:

    
<input type="button" name="print" value="https://www.jb51.net/yc1990/archive/2012/03/03/预览并打印" 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="https://www.jb51.net/yc1990/archive/2012/03/03/预览并打印" 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="https://www.jb51.net/yc1990/archive/2012/03/03/print">
</form>


    最主要的一句就是:


<input class="Noprn" type="button" onclick="window.print()" value="https://www.jb51.net/yc1990/archive/2012/03/03/print">


    这样就可以打印了,通过设置CSS属性,将很容易控制哪些需要打印,哪些不需要打印,而且这样的打印是没有附加的页眉和页码的信息的。

标签:打印,window,print
0
投稿

猜你喜欢

  • C++ 智能指针深入解析

    2023-08-14 22:38:41
  • SpringBoot动态修改日志级别的操作

    2022-10-31 05:00:30
  • Android Intent的几种用法详细解析

    2023-08-23 20:01:01
  • elasticsearch head的安装及使用过程解析

    2021-10-10 10:24:59
  • java为何不能多继承的原因详解

    2023-10-12 04:45:00
  • C#文件后缀名的详细介绍

    2022-06-03 15:07:41
  • Android编程实现系统重启与关机的方法

    2022-01-09 20:56:49
  • Git和Maven的子模块简单实践

    2023-09-22 01:45:55
  • 快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题

    2021-08-26 09:31:43
  • Java利用反射自动封装成实体对象的方法

    2022-01-06 05:54:29
  • 详解SpringBoot定时任务说明

    2022-08-11 05:03:11
  • Spring Boot集成MyBatis实现通用Mapper的配置及使用

    2023-07-03 18:17:10
  • Android使用httpPost向服务器发送请求的方法

    2021-12-08 19:37:07
  • Java 静态代理与动态 代理解析

    2023-08-22 17:18:19
  • 详解@ConfigurationProperties实现原理与实战

    2023-11-24 05:19:26
  • java对象初始化代码详解

    2023-09-19 13:59:01
  • Android注解基础介绍快速入门与解读

    2023-04-30 22:32:19
  • C#中缓存的基本用法总结

    2023-12-06 01:22:45
  • 在Winform框架界面中改变并存储界面皮肤样式的方法

    2021-06-08 09:08:24
  • JUC循环屏障CyclicBarrier与CountDownLatch区别详解

    2021-11-17 10:40:08
  • asp之家 软件编程 m.aspxhome.com