转: JS实现页面打印

转载原文: http://shengren-wang.iteye.com/blog/1161367

1、js实现(可实现局部打印)

    <!--打印的实现1:start-->  
    <input id="btnPrint" type="button" value="打印" onclick="javascript:window.print();" />  
    <!--将不需要打印的部分,标记为 class="noprint" -->  
    <style type="text/css" media=print>  
      .noprint{display : none }  
    </style>  
    <p class="noprint">不需要打印的地方</p>  
    <p>打印的部分</p>  
    <!--打印的实现1:end-->  
    <!-- *************************  2011-09-28更新了代码 **************************** -->  
    <!--打印的实现2:start-->  
    <input id="btnPrint" type="button" value="打印预览" onclick=preview(1) />  
    <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  
          prnhtmlprnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html  
          window.document.body.innerHTML=prnhtml;  
          window.print();  
          window.document.body.innerHTML=bdhtml;  
        } else {  
          window.print();  
        }  
      }  
      </script>  
      
    <p>XXXXX</p>  
    <!--startprint1-->要打印的内容<!--endprint1-->  
    再加个打印按纽 onclick=preview(1)   
    <!--打印的实现2:end-->  

2、调用windows底层打印,报安全警告,不建议使用(不支持局部打印)

<HTML>  
  <HEAD>  
    <TITLE>javascript打印-打印页面设置-打印预览代码</TITLE>   
    <META http-equiv=Content-Type content="text/html; charset=gb2312" />   
    <SCRIPT language=javascript>    
      function printsetup(){    
        // 打印页面设置    
        wb.execwb(8,1);    
      }    
      function printpreview(){    
        // 打印页面预览 
        wb.execwb(7,1); 
      }    

      function printit()    
      {    
        if (confirm('确定打印吗?')) {    
          wb.execwb(6,6);   
        }    
      }    
    </SCRIPT>   
  </HEAD>   
  <BODY>   
    <DIV align=center>   
      <OBJECT id=wb height=0 width=0 classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb></OBJECT>   
      <INPUT onclick=javascript:printit() type=button value=打印 name=button_print />    
      <INPUT onclick=javascript:printsetup(); type=button value=打印页面设置 name=button_setup />    
      <INPUT onclick=javascript:printpreview(); type=button value=打印预览 name=button_show />    
      一按开始的减肥了卡时间段  
    </DIV>   
  </BODY>   
</HTML>

3、jQuery实现(支持局部打印)

<script type="text/javascript" src="jquery-1.4.2.min.js"></script>   
<script type="text/javascript" src="jquery.PrintArea.js"></script>   
<script>  
  $(document).ready(function(){  
    $("input#biuuu_button").click(function(){  
      $("div#myPrintArea").printArea();  
    });  
  });  
</script>   
<input id="biuuu_button" type="button" value="打印"></input> <div id="myPrintArea">.....文本打印部分.....</div>
原文地址:https://www.cnblogs.com/wind-wang/p/6902658.html