html 页面部门打印

来源:互联网 发布:淘宝苹果id解锁可信吗 编辑:程序博客网 时间:2024/05/17 23:52

 

    在项目中做一些报表的内容,需要打印一下报表页面,在开始的时候是打印的整个页面,后来客户希望打印报表的内容区域,也就是一部分页面。所以找了一些方法来实现这个功能。

   方法比较简单:

   首先设置开始打印和打印结束的位置:

function doPrint() {
bdhtml=window.document.body.innerHTML; //获得body标签内的全部html代码
sprnstr="<!--startprint-->"; //声明一个字符串,用于表示打印的起始位置
eprnstr="<!--endprint-->"; //标示打印的结束位置
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); //查找打印的起始字符串并加上17,因为<!--startprint-->的长度为17,所以要加17,这样打印时不会把标示打印出来
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //和上边的意思差不多
window.document.body.innerHTML=prnhtml; //通过window对象得到body对象并将当前窗体的内容设置为要打印起始标示符和结束标示符之间的内容,这样打印出来就只有需要的部分,而其他没用的信息都不会有的
window.print();
}

 

有两点需要说明一下:程序中声明了一个打印起始的字符串和一个结束的字符串,根据获取这两个字符串来得到需要打印的内容,所以在你的html代码中应该有这两个字符串的出现,至于位置就像这样:比如我要打印当前页面中一个<div></div>中所有的信息,那么你应该在这个<div>标签前加入起始字符串在</div>结束标签后加入结束标示的字符串。就像这样<!--startprint--><div></div><!--endprint-->
此处需要注意一个地方:<!--startprint-->这个和<table>标签之间不要有空格回车这样的空字符否则程序运行会有问题。

 

原创粉丝点击