1、window.print方式:
- <input type="button" value="打印" onclick="print();">
- //js 中:
- function print(){
- window.print();
- //style樣式中,設置隱藏按鈕打印:
- <style>
- @media print {
- .noprint{display:none}
- }
- </style>
//jsp頁面 打印按鈕:
<input type="button" value="打印" οnclick="print();">
//js 中:
function print(){
window.print();
//style樣式中,設置隱藏按鈕打印:
<style>
@media print {
.noprint{display:none}
}
</style>
打印iframe:
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head>
- <title>標題頁</title>
- <body>
- <input onclick='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>
<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控件方式
頁面上加上代碼
- <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:函數中加入代碼:
- 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) 關閉窗體無提示
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);
選擇你要的功能。
但是打印是會把整個頁面都打印出來的,頁面裏面有什麼東西就打印出來,我們有時候只需要打印數據表格,這時我們就要寫一個樣式了:把不想打印的部份隱藏起來:
樣式內容:
- <SPAN style="BACKGROUND-COLOR: #ffffff; WHITE-SPACE: normal"><style type="text/css" media=print></SPAN>
<style type="text/css" media=print>
- .noprint...{display : none }
- </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>
例如:
- function printPage()
- {
- PageSetup_Null() ;
- document.all.iframename.ExecWB(6,1);
- }
- //打印預覽
- function printPreview()
- {
- document.all.iframename.ExecWB(7,1);
- }
function printPage() { PageSetup_Null() ; document.all.iframename.ExecWB(6,1); } //打印預覽 function printPreview() { document.all.iframename.ExecWB(7,1); }
- //設置網頁打印的頁眉頁腳爲空
- 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);
- }
- }
//設置網頁打印的頁眉頁腳爲空 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
- <body>
- firstpage <input type="button" onclick="printPreview()" value="打印預覽">
- <input type="button" onclick="printPage()" value="打印">
- lt;br/>
- <iframe name="iframe" width="500"style="height:400" src="secend.html"></iframe>
- </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
- <body style="background-color:#888">
- secendpage
- <br/>
- <br/>
- <iframe name="i1" src="third.html"></iframe>
- <iframe name="i2" src="thirdd.html"></iframe>
- <br>
- </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:
- //打印
- function printPage()
- { //頁眉頁腳空…… 這裏沒寫了
- iframe.document.all.i1.ExecWB(6, 1); "
- }
- //打印預覽
- function printPreview()
- {
- iframe.document.all.i1.ExecWB(7, 1);
- }
//打印 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"); //設置頁眉居中