利用WebBrowser实现Web打印的分析
WebBrowser是IE内置的浏览器控件,无需用户下载。本文档所讨论的是有关IE6.0版本的WebBrowser控件技术内容。其他版本的IE应该也支持。与其相关的技术要求有:打印文档的生成、页面设置、打印操作的实现等几个环节。本文以asp为例,但是他可以容易的移植到其他web技术中。
一、WebBrowser控件
<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>
二、WebBrowder控件的方法
<style> @media print { INPUT {display:none }} </style> 在<head></head>之间添加,解决打印预览时有按钮出现的问题
//打印
WebBrowser1.ExecWB(6,1);
//打印设置
WebBrowser1.ExecWB(8,1);
//打印预览
WebBrowser1.ExecWB(7,1);
三、实现打印的设置,打印数据的生成,打印的预览,和打印。
实现打印的设置,打印数据的生成,打印的预览,和打印我一般这样做,假如查询结果在a.asp中,那么在a.asp中放置打印设置、打印预览、打印三个按钮。
单击打印设置按钮则在js中执行WebBrowser1.ExecWB(8,1),以打开打印设置窗口。
单击打印预览按钮则打开一个b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(7,1),以打开用户预览界面。
单击打印按钮则也打开b.asp,在b.asp中重新生成打印数据,然后在b.asp中自动执行WebBrowser1.ExecWB(6,1),以自动打印数据。
四、代码
只给出几个按钮的代码:
<object ID='WebBrowser1' WIDTH=0 HEIGHT=0 border=1 style="display:none" CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2' > </object>
<input type=button value='打印设置' οnclick="WebBrowser1.ExecWB(8,1)">
<input type=button value='打印预览' οnclick="WebBrowser1.ExecWB(7,1)">
<input type=button value='打印' οnclick="WebBrowser1.ExecWB(6,1)">
<input type=button value='关闭' οnclick="self.close()">