1
方式:采用css來(lái)控制打印,提供一個(gè)專門的控制打印的css文件,然后在需要打印的頁(yè)面的代碼中將該css文件引入
下面通過(guò)例子來(lái)講解如何實(shí)現(xiàn)頁(yè)面的打印:
1.寫控制打印的樣式表文件print.css,文件內(nèi)容如下:
@media print {
header{display:none}
button{display:none}
textarea{display:none}
select{display:none}
.noprint{display:none;
position: relative;
right:0px}
input{position: relative;left:0px;
right:19px;
BORDER-TOP: 0px;
BORDER-LEFT: 0px;
BORDER-RIGHT: 0px;
BORDER-BOTTOM: 0px;
COLOR : #FFFFFF;
display:""}
select{position: relative;left:-50px;
border:0pt;
vertical-align:justify;
display:""}
table{
position: relative;left:-40px;
MARGIN-TOP: 1px;
MARGIN-BOTTOM: 1px;
PADDING-BOTTOM: 1px;
BORDER-TOP: 1px;
BORDER-LEFT: 1px;
BORDER-RIGHT: 1px;
BORDER-BOTTOM: 1px;
COLOR : #FFFFFF;
display:""
}
.print{position: relative;left:-50px;
right:10px;
display:""
}
}
其中,@media print中的print指定了需要使用的設(shè)備,就是—打印機(jī)(網(wǎng)絡(luò)打印機(jī))。
.noprint{display:none; position: relative; right:0px}
說(shuō)明其上面的所有元素都不打印,所以display屬性設(shè)置為none.
位置position屬性設(shè)置為relative,表示相對(duì)位置。如果不設(shè)置為relative,則打印出來(lái)的效果會(huì)和頁(yè)面上的位置一模一樣,如果確實(shí)需要和頁(yè)面一致的話,當(dāng)然可以不設(shè)置成relative。Right屬性以及它的值表示打印出來(lái)的位置相對(duì)于頁(yè)面原始位置的偏移方向以及偏移量,當(dāng)然還可以是left.
根據(jù)上面的定義,header,button,textarea和select是不打印的,當(dāng)然這些都是根據(jù)需要可以添加和修改的。
接下來(lái)就是需要打印的元素的定義了,其各個(gè)屬性的含義都是顧名思義的,很容易理解,在此不做贅述,只需要記住將display屬性的值這是為空串””就可以了。
2.在需要打印的頁(yè)面的代碼中,將該樣式表文件引入:
<head>
<link rel=stylesheet href="print.css">
………………………………
</head>
其中,href屬性指定的是樣式表文件的位置。
3.在頁(yè)面代碼中加入使用打印API的代碼,一般來(lái)說(shuō)加在<body>……..</body>之間即可:
<OBJECT ID="WebBrowser" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>
這段代碼是必不可少的,不必了解其確切含義。
4.用js寫執(zhí)行打印動(dòng)作的函數(shù),一個(gè)簡(jiǎn)單的例子如下:
function doPrint()
{
WebBrowser.ExecWB(6,6);
}
其中的WebBrowser.ExecWB(6,6);語(yǔ)句表示執(zhí)行打印。還有其他的一些功能,如下:
WebBrowser.ExecWB(1,1) 打開
WebBrowser.ExecWB(2,1) 關(guān)閉現(xiàn)在所有的IE窗口,并打開一個(gè)新窗口
WebBrowser.ExecWB(4,1) 保存網(wǎng)頁(yè)
WebBrowser.ExecWB(6,6) 打印
WebBrowser.ExecWB(7,1) 打印預(yù)覽
WebBrowser.ExecWB(8,1) 打印頁(yè)面設(shè)置
WebBrowser.ExecWB(10,1) 查看頁(yè)面屬性
WebBrowser.ExecWB(15,1) 好像是撤銷,有待確認(rèn)
WebBrowser.ExecWB(17,1) 全選
WebBrowser.ExecWB(22,1) 刷新
WebBrowser.ExecWB(45,1) 關(guān)閉窗體無(wú)提示
5.在頁(yè)面代碼中添加打印按鈕:
<input type=button value="toPrinter" onclick="doPrint()">
6.調(diào)整頁(yè)面元素,控制打印細(xì)節(jié)。具體做法是:如果想打印某個(gè)頁(yè)面元素,只需要將該元素放在<div class=print>…</div>中;如果不想打印,則將該元素放在<div class=noprint>…</div>中。
做到以上幾點(diǎn),一個(gè)簡(jiǎn)單的打印功能就實(shí)現(xiàn)了!
2
<%@ page contentType="application/msword;charset=GBK" %>
posted on 2005-08-29 09:51
my java 閱讀(581)
評(píng)論(0) 編輯 收藏 所屬分類:
java 轉(zhuǎn)帖