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="http://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="http://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="http://www.jb51.net/yc1990/archive/2012/03/03/print">
</form>

最主要的一句就是:


代码如下:

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

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

(0)

相关推荐

  • Web打印解决方案之普通报表打印功能

    做过很多的Web项目,大多数在打印页面内容的时候,采用的都是通过Javascript调用系统内置的打印方法进行打印,也就是调用PrintControl.ExecWB(?,?)实现直接打印和打印预览功能.打印的效果及控制性虽然不是很好,但是也能勉强使用,应付一般的打印还是可以的了. 代码如下所示: 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->

  • 利用javascript实现web页面中指定区域打印

    最近做到了web页面课程表打印时,上网找了一些资料,最后使用了下面的方法实现了我需要的功能.将需要打印的课程表的table放入div标签中,然后指定出需要打印的区域,最后调用window.print打印指定内容. 示例代码(代码中有些内容已省略) 复制代码 代码如下: function preview() {    bdhtml = window.document.body.innerHTML;    sprnstr = "<!--startprint-->";    ep

  • web打印小结

    项目中有个需求是将winform客户端的打印,移到网页上由客户自行打印,打印要求是根据一定的格式实现套打. 当时的解决方案是使用PDF打印: 1. 准备好套打格式的底图: 2.打开底图,将动态内容画到底图上: 3.利用第二步修改后的图片,生成PDF,完成打印 后来发现一款比较强大的web打印工具lodop,简单使用说明如下: 1.先检查下浏览器是否安装此插件: http://www.lodop.net/demolist/PrintSample1.html 2.建立html,此入口可以打开一个图形

  • Web打印解决方案之证件套打的实现思路

    在前面介绍过<Web打印解决方案之普通报表打印功能>的一片文章中提到过那个打印控件Lodop,做起套打来感觉还是挺方便的,至少位置调整界面不需要自己弄,位置嘛,也提供了自动保存的功能,不需要理会. 一般的套打,包含了几部分操作:打印预览.打印维护.打印设计. 打印预览和打印维护是面向终端用户的,打印维护是指内容不能修改删除.但位置可以调整,给不同的打印机不同的尺寸打印提供调整位置的可能性. 打印设计是面向开发人员的,开始需要通过这个功能来设计好套打的界面,就是根据套打证件的背景图片,大致摆放好

  • JavaWeb实现打印功能

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <script language="javascript"> function printsetup(){ // 打印页面设置 wb.execwb(8,1); } </script> </head> <body> <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=w

  • web的各种前端打印方法之jquery打印插件PrintArea实现网页打印

    第一步: jquery.PrintArea.js下载js引用 复制代码 代码如下: <script language="javascript" src="jquery-1.7.1.min.js"></script> <script type="text/javascript" src="jquery.PrintArea.js"></script> html引用: 复制代码 代码如

  • web 页面分页打印的实现

    1.首先引入一个WebBrowser在需要打印的页面,可以直接添加: 复制代码 代码如下: <object id="WebBrowser" classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height="0" width="0"> </object> 到页面,或者使用JavaScript在需要的时候临时添加也可以: 复制代码 代码如下: document.body.in

  • 网页WEB打印控件制作

    在WEB系统中,打印的确是比较烦人的问题,如果我们能制作一个属于自己的自定义的打印插件,那么我们在后续自定义打印的时候能随心所欲的控制打印,这样的效果对于程序员来说是非常开心的一件事件,本文将自己开发编写的C# 制作的HTML打印插件分享出来,让有同样需求的朋友提供一个参考:此插件是基于Microsoft .NET Framework 2.0 开发的,缺点是每台客户端在安装插件时,必须要安装Microsoft .NET Framework 2.0 :本插件能实现 页眉.页脚.表头.标题.表尾的分

  • js控制web打印(局部打印)方法整理

    首先定义css样式: 复制代码 代码如下: @media print { .noprint { display: none;color:green } } 对于不想打印的内容只用在标签中加上 class=noprint即可,打印的时候客户也不会看到页面任何变化. 打印时调用 window.print(); 另外几种js局部打印的方法: 移花接木: 打印的时候,把需要打印的内容替换成整个body内容(用户会在打印的时候看到变化,客户体验不太好) 复制代码 代码如下: function previe

  • web的各种前端打印方法之jquery打印插件jqprint实现网页打印

    web的打印方法具我自己懂得知道的有: 1.JQuery插件Jqprint实现 2.JQery打印插件PrintArea实现网页打印 3.CSS控制网页打印样式 JQuery插件Jqprint实现: 首先要导入js文件: jquery.jqprint.js下载 复制代码 代码如下: <script language="javascript" src="jquery-1.7.1.min.js"></script> <script lang

随机推荐