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

引言
 
相对传统的CS程序,WEB程序的打印控制不是很方便。在个人的开发过程中,遇到过很多与打印相关的问题,但针对不同的情况,可以有不同的的解决方案。本系列文章就陆续总结介绍一些与打印相关的技术方案。其中有不少是将网络资源加以整理修正总结而成的,如果有相似部分,还请原作者见谅,本人没有将这些据为己有的意思,只是放在网上以求与众位共享。
 
IE自带ActiveX控件
 
控件声明
 
在页面的<body></body>间的合适位置添加如下代码
<object id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" viewastext>
</object>
控制按钮
 
在页面的合适位置添加控制按钮的代码
<input οnclick="document.all.WebBrowser.ExecWB(6,1)" type="button" value="打印">
<input οnclick="document.all.WebBrowser.ExecWB(6,6)" type="button" value="直接打印">
<input οnclick="document.all.WebBrowser.ExecWB(8,1)" type="button" value="页面设置">
<input οnclick="document.all.WebBrowser.ExecWB(7,1)" type="button" value="打印预览">
<input οnclick="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控件想有更进一步的了解和研究,可以参照以下文档:
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
IE下页面打印控件 类似于ScriptX控件,但本控件可免费使用 控件使用OCX技术,使控件加载到IE浏览器中 首次使用需要用户加载Activex控件,以后将自动加载运行 控件功能: 1.屏蔽IE打印时出现的打印设置框。 2.自动设置各打印控制参数。 3.实现自动打印。 使用方法 控件的ID为clsid:AE1A309B-6FFA-4FCF-B07F-CB97FFD56B1B 使用Object标签包裹即可。 如 <OBJECT ID="TestAX" classid="clsid:AE1A309B-6FFA-4FCF-B07F-CB97FFD56B1B" codebase="IEprint.ocx#version=" width=0 height=0 align=center hspace=0 vspace=0 ></OBJECT> 使用Javascript或VBScript程序进行调用 使用使,先得到打印控件Object对象实例如 a=document.getElementById("TestAX"); 参数内容 接着对a进行操作即可 a.Mar_left=0.0075; //左边界 a.Mar_Top=0.0075; //上边界 a.Mar_Right=0.0075; //右边界 a.Mar_Bottom=0.0075; //下边界 a.Orientation="纵向";//打印方向 a.Paper_Size="Folio"; //纸张大小 a.Header_Html="Headeraaaaaaaa"; //头部标注 a.Footer_Html="Footerssssssss"; //尾部标注 a.ApplySetup(); //应用上面的设置 函数方法 a.PrintWithOutSetup(); //无需设置即打印内容 a.PrintWithOutSetupPrintWithOutByID("cnnb"); //打印除ID为cnnb的其他内容。即过滤id为cnnb的所有内容 a.PrintWithOutSetupPrintByID("163");//打印id为163的内容。即过滤id为163以外的所有内容 a.PrintWithSetup(); //有设置选项的打印 a.PrintPreView();//打印预览 对本控件有建议的可以联系我,一般隐身存在。。。 chatop QQ948905
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值