javascript打印html页面

版权声明:最爱桃子的阿狸 https://blog.csdn.net/pdy8023/article/details/80340572

一、HTML设置

1.在html中设置标记

<div id="print_html">
    这里是要打印的html内容
</div>
<!--startprint-->
  这里是要打印的html内容
<!--endprint-->

二、JS打印页面

/*
 * 打印页面
 */
function printHTML(_this){
    // 获取当前页的html代码
    var bdhtml = window.document.body.innerHTML;
    /*//设置打印开始区域
    //var startStr = '<!--startprint-->';
    // 设置打印结束区域
    //var endStr = '<!--endprint-->';
    //从标记里获取需要打印的页面
    var printHtml = bdhtml.substring(bdhtml.indexOf(startStr) + startStr.length, bdhtml.indexOf(endStr));*/
    //隐藏不必要的按钮和样式
    // 通过id获取需要打印的页面
    var printHtml = document.getElementById('print_html').innerHTML;
    // 需要打印的页面
    window.document.body.innerHTML = printHtml;
    if (!!window.ActiveXObject || "ActiveXObject" in window) { //是否ie
        remove_ie_header_and_footer();
     }
    window.print();
    // 还原界面
    window.document.body.innerHTML = bdhtml;
    window.location.reload();
}

三、部分浏览器自带页眉页脚,需要去掉

1.在head中添加样式

<style media="print">
    @page {
        size: auto;
        margin: 0mm;
    }
</style>

2.去掉页眉页脚的js代码

//去掉页眉、页脚
function remove_ie_header_and_footer() {
    var hkey_path;
    hkey_path = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
    try {
       var RegWsh = new ActiveXObject("WScript.Shell");
       RegWsh.RegWrite(hkey_path + "header", "");
       RegWsh.RegWrite(hkey_path + "footer", "");
    } catch (e) {
    }
}
本文出处:https://blog.csdn.net/pdy8023/article/details/80340572

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页