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");      //設置頁眉居中

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章