一、使用window.print()的方式打印
第一种方法可以使用浏览器自带的window.print()方式打印,如下:
function winPrint(){
bdhtml = window.document.body.innerHTML;
startStr = "<!--startprint-->";
endStr = "<!--endprint-->";
prnhtml = bdhtml.substr(bdhtml.indexOf(startStr) + 17);
prnhtml = prnhtml.substring(0,prnhtml.indexOf(endStr));
window.document.body.innerHTML = prnhtml;
window.print();
window.document.body.innerHTML = bdhtml;
}
在页面上使用<!--startprint-->和<!--endprint-->
选中要打印的内容这种方式就是在打印时将页面内容替换为要打印的内容然后使用window.print()方法打印,打印完成后再将页面内容使用window.document.body.innerHTML写回页面这种方法的最大的问题是页面绑定的事件可能会无法操作。
二、使用jqprint插件
第二种是使用jqprint插件 ,只需要引入插件使用$("#id").jqprint()
方法进行打印,需要注意的是必须引入jquery,且版本最高只能到1.8最低不能小于1.3,否则jqprint中使用的$.browser会报错。
参考地址https://github.com/xmyxiao/WebDemo/tree/master/cssDemo/print
如果要页面分页,在要分页的位置添加<div style="page-break-after:always;"></div>
这里可以使用其他标签,主要是 page-break-after属性,具体可以看W3C参考手册。