posts - 23,comments - 12,trackbacks - 0

1
方式:采用css来控制打印,提供一个专门的控制打印的css文件,然后在需要打印的页面的代码中将该css文件引入
下面通过例子来讲解如何实现页面的打印:
1.写控制打印的样式表文件print.css,文件内容如下:
@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指定了需要使用的设备,就是—打印机(网络打印机)。
.noprint{display:none; position: relative; right:0px}
说明其上面的所有元素都不打印,所以display属性设置为none.
位置position属性设置为relative,表示相对位置。如果不设置为relative,则打印出来的效果会和页面上的位置一模一样,如果确实需要和页面一致的话,当然可以不设置成relative。Right属性以及它的值表示打印出来的位置相对于页面原始位置的偏移方向以及偏移量,当然还可以是left.
根据上面的定义,header,button,textarea和select是不打印的,当然这些都是根据需要可以添加和修改的。
接下来就是需要打印的元素的定义了,其各个属性的含义都是顾名思义的,很容易理解,在此不做赘述,只需要记住将display属性的值这是为空串””就可以了。
2.在需要打印的页面的代码中,将该样式表文件引入:
<head>
<link rel=stylesheet href="print.css">
………………………………
</head>
其中,href属性指定的是样式表文件的位置。
3.在页面代码中加入使用打印API的代码,一般来说加在<body>……..</body>之间即可:
<OBJECT ID="WebBrowser" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>
这段代码是必不可少的,不必了解其确切含义。
4.用js写执行打印动作的函数,一个简单的例子如下:
function doPrint()
{
WebBrowser.ExecWB(6,6);
}
其中的WebBrowser.ExecWB(6,6);语句表示执行打印。还有其他的一些功能,如下:
WebBrowser.ExecWB(1,1) 打开
WebBrowser.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口
WebBrowser.ExecWB(4,1) 保存网页
WebBrowser.ExecWB(6,6) 打印
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) 关闭窗体无提示
5.在页面代码中添加打印按钮:
<input type=button value="toPrinter" onclick="doPrint()">
6.调整页面元素,控制打印细节。具体做法是:如果想打印某个页面元素,只需要将该元素放在<div class=print>…</div>中;如果不想打印,则将该元素放在<div class=noprint>…</div>中。

做到以上几点,一个简单的打印功能就实现了!



2

<%@ page contentType="application/msword;charset=GBK" %>

posted on 2005-08-29 09:51 my java 阅读(567) 评论(0)  编辑  收藏 所属分类: java 转帖

只有注册用户登录后才能发表评论。


网站导航: