网页打印

正常情况下的打印是使用 window.print(); 直接整页打印,但如果需要打印网页中定义的部分内容,则可使用如下的方法:

关于局部打印

1、在页面的代码头部处加入JavaScript:

以下是代码片段:

局部打印

// JS 实现简单的页面局部打印
<script>
function doPrint() {
    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>

亦可以添加变量,同页面多次区别使用:
<script>
function preview(oper) {
    if (oper < 10) {
        bdhtml=window.document.body.innerHTML;      //获取当前页的html代码
        sprnstr="<!--startprint"+oper+"-->";	//设置打印开始区域
        eprnstr="<!--endprint"+oper+"-->";	//设置打印结束区域
        prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18);   //从开始代码向后取html
        prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));  //从结束代码向前取html
        window.document.body.innerHTML=prnhtml;
        window.print();
        window.document.body.innerHTML=bdhtml;
    } else {
        window.print();
    }
}
</script>
使用很简单 将页面内要打印的内容加入中间 <!--startprint1--> 内容 <!--endprint1-->
再加个打印按纽 onclick=preview(1);

2、在需要打印的页面正文前后加上 <!--startprint--><!--endprint--> 标识。

也就是在需要用户打印保存的正文所对应的html处附加上。同时,如果采用小偷程序获得远程数据并需打印,可将此等数据置于该定义标签之内即可。

3、截取内容部分已完成,现在加个“打印”的链接:

以下是代码片段:局部打印

<a href="javascript:void(0);" onClick="doPrint()">局部打印</a>

当然你也可以使用 print.css 来做打印样式,通过css 控制在打印媒体中的页面表现样式!

问题及注意事项:

实践出真知