天天看點

jsp頁面調用列印功能

1.JavaScript局部列印

<input id="btnPrint" type="button" value="列印" οnclick="javascript:window.print();" />

可以用樣式控制,你想讓那塊列印就列印啊,樣式如下:

<style type="text/css" media=print>

.noprint{display : none }

</style>

然後使用樣式就可以:

<p class="noprint">不需要列印的地方</p>

=============================================================

2:元件法

WebBrowser是IE内置的浏覽器控件,無需使用者下載下傳.

一、WebBrowser控件

  <object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>

二、WebBrowder控件的方法

//列印

WebBrowser1.ExecWB(6,1);

//列印設定

WebBrowser1.ExecWB(8,1);

//列印預覽

WebBrowser1.ExecWB(7,1);

關于這個元件還有其他的用法,列舉如下:

WebBrowser.ExecWB(1,1) 打開

Web.ExecWB(2,1) 關閉現在所有的IE視窗,并打開一個新視窗

Web.ExecWB(4,1) 儲存網頁

Web.ExecWB(6,1) 列印

Web.ExecWB(7,1) 列印預覽

Web.ExecWB(8,1) 列印頁面設定

Web.ExecWB(10,1) 檢視頁面屬性

Web.ExecWB(15,1) 好像是撤銷,有待确認

Web.ExecWB(17,1) 全選

Web.ExecWB(22,1) 重新整理

Web.ExecWB(45,1) 關閉窗體無提示

但是列印是會把整個頁面都列印出來的,頁面裡面有什麼東西就列印出來,我們有時候隻需要列印資料表格,這時我們就要寫一個樣式了:把不想列印的部份隐藏起來:

樣式内容:

<style type="text/css" media=print>

.noprint......{display : none }

</style>

然後使用樣式就可以:

<p class="noprint">不需要列印的地方</p>

代碼如下:

<script language="javascript">

function printsetup()......{

// 列印頁面設定

wb.execwb(8,1);

}

function printpreview()......{

// 列印頁面預覽

wb.execwb(7,1);

}

function printit()

....{

if (confirm('确定列印嗎?')) ......{

wb.execwb(6,6)

}

</script>

<OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height=0 id=wb name=wb width=0></OBJECT>

<input type=button name=button_print value="列印" class="noprint" οnclick="javascript:printit()">

<input type=button name=button_setup value="列印頁面設定" class="noprint" οnclick="javascript:printsetup();">

<input type=button name=button_show value="列印預覽" class="noprint" οnclick="javascript:printpreview();">

3:

JS 實作簡單的頁面局部列印

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();

}

}

使用很簡單 将頁面内要列印的内容加入中間<!--startprint1-->XXXXX<!--endprint1-->

再加個列印按紐 οnclick=preview(1)

繼續閱讀