网页局部打印

html部分

//首先我们得了解js调用打印机。使用window.print();这是打印整个页面。
<p>下面是图片</p>
<div>     
    <img src="图片地址">  
</div>
<button id="print" onclick="doPrint()">打印指定部分(以打印图片为例)</button>

js部分

function doPrint() {
    bdhtml=window.document.body.innerHTML;
    sprnstr="<!--startprint-->"; //开始打印标识字符串有17个字符
    eprnstr="<!--endprint-->"; //结束打印标识字符串
    prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); //从开始打印标识之后的内容
    prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //截取开始标识和结束标识之间的内容
    window.document.body.innerHTML=prnhtml; //把需要打印的指定内容赋给body.innerHTML
    window.print(); //调用浏览器的打印功能打印指定区域
    window.document.body.innerHTML=bdhtml; // 最后还原页面
}

用法:比如我想打印html代码中的图片,在html文档中img标签前加上 ,标签后加上 即可。
即:

<p>下面是图片</p>

<!--startprint-->
<div>     
    <img src="图片地址">  
</div>
<!--endprint-->
<button id="print" onclick="doPrint()">打印指定部分(以打印图片为例)</button>

ps:如果要打印指定部分以外的内容,将其他部分隐藏即可
用法:

$('#print').click(function(){
    $('p').hide();
    window.print();
    $('p').show();
});

猜你喜欢

转载自blog.csdn.net/zhou120189162/article/details/81239351