`

批量打印之smsx.cab打印

    博客分类:
  • JS
阅读更多

smsx.cab插件实现打印的依赖的是ActiveX控件,所以缺点很明显:页面得允许运行ActiveX控件,而ActiveX控件只有IE支持,所以局限性很强。

 

页面基本结构:

<div  id="floatDiv" align="right">
	<input style="color: #fff; font-size: 16px" onclick="printTures();" type="button" value="打印"/>
	<input style="color: #fff; font-size: 16px" onclick="printpage();" type="button" value="打印预览"/>
	<input style="color: #fff; font-size: 16px" onclick="pageReSet();" type="button" value="页面设置"/>
</div>
<div id="page"></div>

JS实现:

//打击“打印”按钮时触发该事件
function printTures(){
	$("body").append("<OBJECT id=\"factory\" codeBase=\"redist/smsx.cab#Version=6,3,434,26\" height=\"0\" width=\"0\" classid=\"clsid:1663ed61-23eb-11d2-b92f-008048fdd814\" viewastext></OBJECT>");
	//取消打印区域的浮动
	var printdiv = document.getElementById("page");
	printdiv.style.overflow="";
	
	printBase();//进行打印设置
	
	//将打印按钮和打印预览按钮隐藏掉
	document.getElementById("floatDiv").style.display = "none";// 隐藏按钮
	
	//进行打印:无确认打印,true时打印前需进行确认
	factory.printing.Print(false);
	
	//打印完成返回项目列表
	$("#factory").remove();
}

//打击“打印预览”按钮时触发该事件
function printpage(){
	$("body").append("<OBJECT id=\"factory\" codeBase=\"redist/smsx.cab#Version=6,3,434,26\" height=\"0\" width=\"0\" classid=\"clsid:1663ed61-23eb-11d2-b92f-008048fdd814\" viewastext></OBJECT>");
	//取消打印区域的浮动
	var printdiv = document.getElementById("page");
	printdiv.style.overflow="";
	printBase();//进行打印设置
	
	//将打印按钮和打印预览按钮隐藏掉
	document.getElementById("floatDiv").style.display = "none";// 隐藏按钮
	//进行预览
	factory.printing.Preview();
	//打印完成返回项目列表
	printdiv.style.overflow="auto";
	//将打印按钮和打印预览按钮隐藏掉
	document.getElementById("floatDiv").style.display = "block";// 隐藏按钮
	$("#factory").remove();
}

/**页面设置 */
function pageReSet(){
	printBase();
	factory.printing.PageSetup();
}

// 用于设置打印参数
function printBase() {
	factory.printing.header = ""; // 页眉
	factory.printing.footer = ""; // 页脚
	factory.printing.portrait = true; // true为纵向打印,false为横向打印
	factory.printing.leftMargin = 19.05;
	factory.printing.topMargin = 0;
	factory.printing.rightMargin = 0;
	factory.printing.bottomMargin = 0;
}

注意: <Object>标签中的codeBase=\"redist/smsx.cab#Version=6,3,434,26\"目录下得有对应的文件

 

用这个插件唯一的感受就是:调顺了很好使,调不顺了很麻烦。一旦出问题了调试起来也麻烦,因为它跟浏览器挂钩它还要往操作系统中写东西,这就牵扯到安全性问题了,反过来若是浏览器或操作系统的设置有变化它也可能被影响到,所以对于它来说“上午用的好好的下午就不能用了是常态”。

 

可能碰到的问题:若是页面上同时存在“打印”和“打印按钮”,且两个按钮都点击了(如先点打印不刷新的情况下再点打印预览),那么点第二个按钮时可能会报错:only one scriptx object can be used per browser window。解决方法可以参考这个链接:http://blog.csdn.net/zhao19861029/article/details/8283347

 

跟Jquery打印一样,说下优缺点:

缺点:兼容性不好,只能IE使用;容易出问题,且调试麻烦;

优点:可预览;配置好之后打印时不会弹出打印框让选打印机,也可以设置页眉页脚、页边距;

 

最后贴几个对smsx.cab插件有帮助的链接:

1、 针对web打印控件的使用心得 :http://blog.csdn.net/zhao19861029/article/details/8283347

2、IE下使用smsx.cab组件实现打印和打印预览功能:http://blog.csdn.net/zhao19861029/article/details/8270194

3、ScriptX,smsx打印控件安装的终极解决办法:http://blog.csdn.net/yjlwl1213/article/details/3929848

 

分享到:
评论

相关推荐

    smsx.cab下载及使用说明

    Web打印控件smsx.cab使用说明 在项目开发中,经常会用到页面打印的功能,在ASP.NET环境下推荐一款web打印控件smsx.cab。  使用方法:一般会先定义一个用于打印的母版页(Print.Master),在母版页上做好布局,包括...

    smsx.cab 最新

    smsx.cab 最新版本经过测试可以使用

    IE打印控件smsx.cab

    smsx.cab文件是一个微软的ActiveX组件,它是Internet Explorer浏览器用来支持特定交互功能的控件,特别是与打印相关的操作。 在Web应用程序中,通常需要借助客户端的打印功能来输出网页内容,例如报表、发票或文档...

    打印插件smsx.cab

    《打印插件smsx.cab:掌控打印设置的利器》 在信息技术日新月异的今天,打印功能作为办公和日常生活中不可或缺的一部分,其效率和便捷性愈发受到重视。smsx.cab是一款专为优化打印体验而设计的插件,它能够对打印...

    scriptx打印控件(smsx.cab,smsx.exe)

    本文将深入探讨ScriptX打印控件,包括其核心组件smsx.cab和smsx.exe,以及如何在实际项目中应用。 ScriptX是由Meadroid公司开发的一款专门用于Web打印的解决方案。它提供了一种在IE和基于Chromium的Edge浏览器中...

    smsx.cab控件打印安装包.zip

    smsx.cab是WEB页面打印控件,此插件可设置Web打印时的页眉页脚,IE浏览器下使用smsx.cab组件实现打印和打印预览功能,可以通过属性设置横向竖向打印模式,打印页眉等打印格式。网上有详细的使用方法。

    批量打印之jquery局部打印和smsx.cab打印联合使用

    本文将深入探讨如何利用jQuery实现局部打印以及与SMSX.CAB打印技术的联合使用,旨在为开发者提供一种高效、灵活的批量打印解决方案。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理和动画...

    打印插件smsx.cab技术文档

    【打印插件smsx.cab技术文档】 在IT领域中,插件是一种增强或扩展软件功能的组件。本文档将深入探讨"打印插件smsx.cab"的技术细节,帮助开发者理解和利用该插件实现更高效的打印解决方案。"smsx.cab"文件是一种常见...

    ScriptX(smsx.cab) 打印控件教程

    Asp.Net(IE) ScriptX/smsx.cab 打印控制插件 如何使用详细教程 注:该插件只限IE使用。 当前示例版本:ScriptX version 6,6,440,26 第一步: 将smsx.cab 复制到.net工程中,如send_js 文件夹中。 第二步: ...

    web 打印包smsx.cab

    实现打印控制,使用javaScript。 可以实现基本的打印控制

    Web打印控件smsx.cab

    Web打印控件smsx.cab

    Web打印控件smsx.cab下载以及使用说明

    在项目开发中,经常会用到页面打印的功能,在ASP.NET环境下推荐一款web打印控件smsx.cab。  使用方法:一般会先定义一个用于打印的母版页(Print.Master),在母版页上做好布局,包括页面布局、js 的引用、smsx.cab...

    Web网页横向打印(smsx.cab)

    标题“Web网页横向打印(smsx.cab)”所指的是一个与网页打印相关的工具或解决方案,其中包含了名为“smsx.cab”的压缩包文件。在Web开发中,打印功能是必不可少的一部分,允许用户将网页内容以纸质形式保存或分享。...

    smsx.cab 打印控件下载

    找了好久,好像与scriptX.cab相似,功能应该差不多。这个可以用,已试过。使用方法可上网查询,很多

    smsx.cab下载和使用说明

    在项目开发中,经常会用到页面打印的功能,在ASP.NET环境下推荐一款web打印控件smsx.cab。  使用方法:一般会先定义一个用于打印的母版页(Print.Master),在母版页上做好布局,包括页面布局、js 的引用、smsx.cab...

    smsx cab控件可双击安装版

    IE下使用smsx.cab组件实现打印和打印预览功能,可以通过属性设置横向竖向打印,打印页眉等打印格式。是免费版,不支持设置打印机和预览效果,软件集成用比较方便。

    smsx.cab下载以及使用示例

     使用方法:一般会先定义一个用于打印的母版页 Print Master 在母版页上做好布局 包括页面布局 js 的引用 smsx cab控件加载 打印和预览按钮的放置 母版页 Print Master :"&gt;在项目开发中 经常会用到页面打印的...

    smsx.rar打印控件

    【smsx.rar打印控件】是一款专用于打印功能的控件,主要应用于Windows操作系统环境,为开发者提供便捷的打印解决方案。smsx控件的核心在于它能够帮助程序员在应用程序中轻松集成打印功能,使得用户可以方便地打印...

    smsx.cab 图片处理控件

    smsx是图片处理控件 可以各种图片 如jgp,tif,bmp等

Global site tag (gtag.js) - Google Analytics