js iframe 打印 打印预览 页眉页脚的设置


1、window.print方式:

 

Html代码 //jsp页面 打印按钮:
 
        
  1.  <input type="button" value="打印" onclick="print();">  
  2. //js 中:        
  3.  function print(){   
  4.      window.print();   
  5. //style样式中,设置隐藏按钮打印:   
  6. <style>     
  7.      @media   print   {     
  8.       .noprint{display:none}     
  9.       }     
  10.  </style>  
//jsp页面 打印按钮:     
 <input type="button" value="打印" οnclick="print();">
//js 中:     
 function print(){
     window.print();
//style样式中,设置隐藏按钮打印:
<style>  
     @media   print   {  
      .noprint{display:none}  
      }  
 </style>

   打印iframe:

 
  1. <html xmlns="http://www.w3.org/1999/xhtml" >  
  2. <head>  
  3. <title>标题页</title>  
  4. <body>    
  5. <input onclick='prn()' type=button value=print_Iframe><br>    
  6. <iframe id=myframe src="http://www.baidu.com"></iframe>    
  7. <script>    
  8. function prn()    
  9. {    
  10. var win=window.open("about:blank")       //打开一个空页面   
  11. win.moveTo(100,100)                      //移动到指定位置   
  12. win.location=document.all.myframe.src    //指定页面的内容   
  13. win.print()                              //打印页面   
  14. }    
  15. </script>    
  16. </body>    
  17. </html>  
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>标题页</title>
<body> 
<input οnclick='prn()' type=button value=print_Iframe><br> 
<iframe id=myframe src="http://www.baidu.com"></iframe> 
<script> 
function prn() 
{ 
var win=window.open("about:blank")       //打开一个空页面
win.moveTo(100,100)                      //移动到指定位置
win.location=document.all.myframe.src    //指定页面的内容
win.print()                              //打印页面
} 
</script> 
</body> 
</html>

 

2,WebBrowser控件方式

页面上加上代码

 

Html代码
  1. <object ID="WebBrowser" name="WebBrowser" WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>  
<object ID="WebBrowser" name="WebBrowser" WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>

 

 js:函数中加入代码:

 

Js代码
  1. WebBrowser.ExecWB(6,1);   
  2. //打印设置   
  3. WebBrowser.ExecWB(8,1);   
  4. //打印预览   
  5. WebBrowser.ExecWB(7,1);   
  6. 关于这个组件还有其他的用法,列举如下:   
  7. WebBrowser.ExecWB(1,1) 打开   
  8. WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口   
  9. WebBrowser.ExecWB(4,1) 保存网页   
  10. WebBrowser.ExecWB(6,1) 打印   
  11. WebBrowser.ExecWB(7,1) 打印预览   
  12. WebBrowser.ExecWB(8,1) 打印页面设置   
  13. WebBrowser.ExecWB(10,1) 查看页面属性   
  14. WebBrowser.ExecWB(15,1) 好像是撤销,有待确认   
  15. WebBrowser.ExecWB(17,1) 全选   
  16. WebBrowser.ExecWB(22,1) 刷新   
  17. WebBrowser.ExecWB(45,1) 关闭窗体无提示  
WebBrowser.ExecWB(6,1);
//打印设置
WebBrowser.ExecWB(8,1);
//打印预览
WebBrowser.ExecWB(7,1);
关于这个组件还有其他的用法,列举如下:
WebBrowser.ExecWB(1,1) 打开
WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
WebBrowser.ExecWB(4,1) 保存网页
WebBrowser.ExecWB(6,1) 打印
WebBrowser.ExecWB(7,1) 打印预览
WebBrowser.ExecWB(8,1) 打印页面设置
WebBrowser.ExecWB(10,1) 查看页面属性
WebBrowser.ExecWB(15,1) 好像是撤销,有待确认
WebBrowser.ExecWB(17,1) 全选
WebBrowser.ExecWB(22,1) 刷新
WebBrowser.ExecWB(45,1) 关闭窗体无提示

   这种方式打印iframe:

              window.parent.document.i1.window.WebBrowser.ExecWB(6, 1);

 

 

选择你要的功能。

但是打印是会把整个页面都打印出来的,页面里面有什么东西就打印出来,我们有时候只需要打印数据表格,这时我们就要写一个样式了:把不想打印的部份隐藏起来:
样式内容:

Html代码
  1. <SPAN style="BACKGROUND-COLOR: #ffffff; WHITE-SPACE: normal"><style type="text/css" media=print></SPAN>  
<style type="text/css" media=print>

Html代码
  1. .noprint...{display : none }   
  2. </style>  
.noprint...{display : none }
</style>

 

3,打印iframe 中的内容:

   主要语句:document.all.iframename.ExecWB(6,1); 便可以只打印iframe中的页面。

                  document.all.iframename.ExecWB(7,1); 打印预览 

                    …………

使用这种方式打印不需要加:<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>


 

例如:

Js代码
  1. function printPage()   
  2. {   
  3.     PageSetup_Null()   ;   
  4.     document.all.iframename.ExecWB(6,1);   
  5.   
  6. }   
  7.   
  8. //打印预览    
  9. function printPreview()   
  10. {          
  11.         
  12.   document.all.iframename.ExecWB(7,1);    
  13.   
  14. }      
function printPage()
{
    PageSetup_Null()   ;
    document.all.iframename.ExecWB(6,1);

}

//打印预览 
function printPreview()
{       
	 
  document.all.iframename.ExecWB(7,1); 

}    

 

 

Js代码
  1.    
                  
Js代码
  1.    //设置网页打印的页眉页脚为空       
  2. function PageSetup_Null()      
  3. {      
  4.    try{       
  5.        var Wsh=new ActiveXObject("WScript.Shell");       
  6.        Wsh.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\header","");  //通过修改注册表的方式 页眉和页脚也可以改成你想要的内容   
  7.        Wsh.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\footer","");      
  8.    }catch(e){   
  9.        alert(e.name+e.message);   
  10.    }       
  11. }   
   //设置网页打印的页眉页脚为空    
function PageSetup_Null()   
{   
   try{    
       var Wsh=new ActiveXObject("WScript.Shell");    
       Wsh.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\header","");  //通过修改注册表的方式 页眉和页脚也可以改成你想要的内容
       Wsh.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\footer","");   
   }catch(e){
	   alert(e.name+e.message);
   }    
} 

 

 

 

 

 通过:document.all.iframe.***的方式打印 不仅可以只打印本页面中的iframe 还可以多层嵌套找到要打印的iframe

  例如:

first.html

 

Html代码
  1.  <body>  
  2.   firstpage  <input type="button" onclick="printPreview()" value="打印预览">  
  3.    <input type="button" onclick="printPage()" value="打印">  
  4. lt;br/>  
  5.   
  6. <iframe name="iframe" width="500"style="height:400" src="secend.html"></iframe>  
  7.  </body>  
  <body>
   firstpage  <input type="button" οnclick="printPreview()" value="打印预览">
    <input type="button" οnclick="printPage()" value="打印">
<br/>

 <iframe name="iframe" width="500"style="height:400" src="secend.html"></iframe>
  </body>

 

 secend.html

 

Html代码
  1. <body style="background-color:#888">  
  2.    secendpage     
  3.    <br/>  
  4.     
  5.    <br/>  
  6.       <iframe name="i1" src="third.html"></iframe>  
  7.       <iframe name="i2" src="thirdd.html"></iframe>  
  8.     <br>  
  9.  </body>  
 <body style="background-color:#888">
    secendpage  
    <br/>
  
    <br/>
       <iframe name="i1" src="third.html"></iframe>
       <iframe name="i2" src="thirdd.html"></iframe>
     <br>
  </body>

 

 

third.html:  随意吧

js:

 

Js代码
  1. //打印   
  2. function printPage()   
  3. {       //页眉页脚空……  这里没写了   
  4.       iframe.document.all.i1.ExecWB(6, 1); "   
  5.          
  6.         
  7. }   
  8.   
  9. //打印预览    
  10. function printPreview()   
  11. {    
  12.           
  13.       iframe.document.all.i1.ExecWB(7, 1);    
  14.      
  15. }  
//打印
function printPage()
{       //页眉页脚空……  这里没写了
	  iframe.document.all.i1.ExecWB(6, 1); "
	  
	 
}

//打印预览 
function printPreview()
{ 
 	   
	  iframe.document.all.i1.ExecWB(7, 1); 
  
}

  于是 以此类推: 就可以实现任意的iframe嵌套打印和打印预览问题了

  例如从子页面找父页面打印也可:window.parent.document.all.i1.ExecWB(6, 1);

 

符号 含义
&w   网页标题
&u   网页地址 (URL)
&d   短日期格式(由“控制面板”中的“区域设置”指定)
&D   长日期格式(由“控制面板”中的“区域设置”指定)
&t   由 “控制面板”中的“区域设置”指定的时间格式
&T   24 小时时间格式
&p   当前页码
&P   总页数
&b   文本右对齐(请把要右对齐的文字放在“&b”之后)
&b&b 文字居中(请把要居中的文字放在“&b”和“&b” 之间)
&&     单个 & 号 (&)

       Wsh.RegWrite("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\header","&b页眉&b");      //设置页眉居中

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值