IE下使用js与自带ActiveX控制web打印

本文介绍了如何利用JavaScript结合IE自带的ActiveX控件"WScript.Shell"来修改注册表以实现Web打印设置。内容包括通过JS模拟页面设置、CSS滤镜法的优缺点以及如何屏蔽打印设置对话窗口,特别是使用VBScript重写print()函数来避免打印设置对话框的弹出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.打印需求1.控制页眉页脚和上下左右的页边距
2.可选横向打印
3.跳过配置对话直接打印


二.环境与背景
1.浏览器版本:IE8
2.不能使用ScriptX
3.不能开发新ActiveX


三.实现
1.控制页眉页脚和页边距

使用ActiveX组件"WScript.Shell"对注册表进行访问修改,相当于修改了IE中的打印设置。

web_printer.js:

function JSActiveXPrinter()
{
	this.header = null;
	this.footer = null;
	this.marginTop = null;
	this.marginBottom = null;
	this.marginLeft = null;
	this.marginRight = null;
	
	this.localHeader = null;
	this.localFooter = null;
	this.localMarginTop = null;
	this.localMarginBottom = null;
	this.localMarginLeft = null;
	this.localMarginRight = null;
	
	this.portrain = false;
	
	this.wsShell = new ActiveXObject("WScript.Shell");
	this.regPath = "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
}

JSActiveXPrinter.prototype.doPrint = function()
{
	this.getLocalPageSetup();
	this.setPageSetup();
	windo
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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值