zoukankan      html  css  js  c++  java
  • web页面实现指定区域打印功能

    第一种方法:使用CSS,定义一个.noprint的class,将不打印的内容放入这个class内。


    详细如下:

    <style media=print type="text/css"> 
    .noprint{visibility:hidden} 
    </style> 

    要打印的内容。哈哈!
    <p class="noprint">将不打印的代码放在这里。</p>
    <p >打印的代码放在这里。</p>
    <button class="noprint" type="button" onclick="window.print()">print button</button>


    第二种方法:指定打印区域

    把要打印的内容放入一个 span中,然后通过一个函数打印。

    <div>
    所有内容
    <span id='div1'>把要打印的内容放这里</span>
    </div>

    <script>
    function printme()
    {
    let oldBody = document.body.innerHTML // 保存
    document.body.innerHTML=document.getElementById('div1').innerHTML;
    window.print();
    document.body.innerHTML = oldBody // 恢复
    }
    </script>

    如果要打印的只是整个页面中的一小部分,就最好采用第二种方法。

    第三种方法:如果要打印的页面排版和原web页面相差很大,采用此种方法。

    点打印按钮弹出新窗口,把需要打印的内容显示到新窗口中,在新窗口中调用window.print()方法,然后自动关闭新窗口。
     
     
    ----------------------------------------------------------------------------------
    JS 代码 复制代码 收藏代码
    <script language="javascript">
    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>


    html 代码 复制代码 收藏代码

    <body>   

    <div >
    <span>不打印内容写在此处</span>
    <!--startprint1-->
    <span>打印1信息内容 写在此处、、、 </span>
    <!--endprint1-->

    <!--startprint2-->
    <span>打印2信息内容 写在此处、、、</span>
    <!--endprint2-->
     
    </div>
    <button class="noprint" type="button" onclick="preview(1)">print</button>

    </body>  

  • 相关阅读:
    【Java基础】9、Enumeration接口和Iterator接口的区别
    【Java基础】4、java中的内部类
    【Java基础】3、Java 位运算(移位、位与、或、异或、非)
    【高并发解决方案】6、数据库水平切分的实现原理解析
    【Java深入研究】6、CGLib动态代理机制详解
    【Java深入研究】4、fail-fast机制
    【Java深入研究】2、JDK 1.8 LinkedList源码解析
    【算法】1、快速排序
    Linux下查看系统版本号信息的方法
    Kubernetes1.2如何使用iptables
  • 原文地址:https://www.cnblogs.com/changfeng1800/p/11287741.html
Copyright © 2011-2022 走看看