现在的位置: 首页 > 综合 > 正文

WEB打印解决方案之一–IE自带ActiveX控件

2013年10月08日 ⁄ 综合 ⁄ 共 1074字 ⁄ 字号 评论关闭
引言
 
相对传统的CS程序,WEB程序的打印控制不是很方便。在个人的开发过程中,遇到过很多与打印相关的问题,但针对不同的情况,可以有不同的的解决方案。本系列文章就陆续总结介绍一些与打印相关的技术方案。其中有不少是将网络资源加以整理修正总结而成的,如果有相似部分,还请原作者见谅,本人没有将这些据为己有的意思,只是放在网上以求与众位共享。
 
IE自带ActiveX控件
 
控件声明
 
在页面的<body></body>间的合适位置添加如下代码
<object id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" viewastext>
</object>
控制按钮
 
在页面的合适位置添加控制按钮的代码
<input onclick="document.all.WebBrowser.ExecWB(6,1)" type="button" value="打印">
<input onclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印">
<input onclick="document.all.WebBrowser.ExecWB(8,1)" type="button" value="页面设置">
<input onclick="document.all.WebBrowser.ExecWB(7,1)" type="button" value="打印预览">
<input onclick="javascript:window.close()" type="button" value="关闭窗口">
为了在打印时不显示控制按钮,需要设定按钮样式,添加属性class="noprint"
并在<head></head>间添加如下代码
<style media="print">
.noprint { DISPLAY: none }
.pagenext{ page-break-after: always; }
</style>
注意事项
1、必须将ie的internet选项的安全设置中对于没有标记为安全的ActiveX控件进行设置成提示或者启用,否则会报错,导致不可用。
2、如果在vs.net编辑环境下编辑该页面,它经常自动的给object添加多余的参数,有了这些东西,打印就会出错,所以要记得最后保存的时候删除它们。
 
参考
 
如果你对WebBrowser控件想有更进一步的了解和研究,可以参照以下文档:

抱歉!评论已关闭.