最近项目需要实现B/S架构的套打功能,这需要精确调整页面位置,并且最好能自动设置页边距,因此使用ActiveX控件打印是最好的解决方案,目前免费的选择考虑了其中两种,一是windows系统本身带有WebBrowser.ExecWB控件,但这个由于系统的安全设置方面的限制,需要客户端调整安全级别,这样客户容易反;,二是使用第三方的控件ScriptX(http://www.meadroid.com/scriptx/),ScriptX基本功能免费,但高级功能是收费的,下面我就把最近在项目中使用ScriptX的经验总结一下。更多细节您可以查看官方手册:http://www.meadroid.com/scriptx/docs/printdoc.htm
简单使用:
在页面head中引入控件:
- <style media=print>
- .PageNext{page-break-after: always;}
- .Noprint{display:none;}
- </style>
设置打印参数:
- // -------------------基本功能,可免费使用-----------------------
- factory.printing.header = "";//页眉
- factory.printing.footer = "";//页脚
- factory.printing.SetMarginMeasure(1);//页边距单位,1为毫米,2为英寸//边距设置,需要注意大部分打印机都不能进行零边距打印,即有一个边距的最小值,一般都是6毫米以上//设置边距的时候时候如果设置为零,就会自动调整为它的最小边距
- factory.printing.leftMargin = 7;//左边距
- factory.printing.topMargin = 7;//上边距
- factory.printing.rightMargin = 7;//右边距
- factory.printing.bottomMargin = 7;//下边距
- factory.printing.portrait = true;//是否纵向打印,横向打印为false
- //--------------------高级功能---------------------------------------------
- factory.printing.printer = "EPSON LQ-1600KIII";//指定使用的打印机
- //factory.printing.printer = "\\\\cosa-data\\HPLaserJ";//如为网络打印机,则需要进行字符转义
- factory.printing.paperSize = "A4";//指定使用的纸张
- factory.printing.paperSource = "Manual feed";//进纸方式,这里是手动进纸
- factory.printing.copies = 1;//打印份数
- factory.printing.printBackground = false;//是否打印背景图片
- factory.printing.SetPageRange(false, 1, 3); //打印1至3页
- //---------------------常用函数--------------------------------
- factory.printing.Print(false);//无确认打印,true时打印前需进行确认
- factory.printing.PrintSetup();//打印设置
- factory.printing.Preview();//打印预览
- factory.printing.WaitForSpoolingComplete();//等待上一个打印任务完全送入打印池,在连续无确认打印时非常有用
- factory.printing.EnumPrinters(index);//枚举已安装的所有打印机,主要用于生成打印机选择功能
如:
- <html>
- <head>
- <title> ScriptX使用 </title>
- <script language="javascript">
- //isZong:是否纵向打印 isSelectPrinter:是否选择打印机,false直接使用默认打印机打印
- function printit(isZong, isSelectPrinter) {
- try {
- xprint.printing.portrait = isZong;//true为纵向,false为横向
- xprint.printing.footer = "页脚";//页脚
- xprint.printing.header = "页眉";//页眉
- xprint.printing.leftMargin =0.5;//左
- xprint.printing.topMargin = 0.5;//上
- xprint.printing.rightMargin = 0.5;//右
- xprint.printing.bottomMargin = 0.5;//下
- //xprint.printing.PageSetup(); //弹出打印设置窗口
- //xprint.printing.Preview(); //弹出打印预览窗口
- xprint.printing.Print(isSelectPrinter); //是否弹出打印机选择页面
- } catch(e) {
- alert('没有设置默认打印机件');
- }
- }
- </script>
- </head>
- <body>
- <object id="xprint" style="display:none" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" codebase="smsx.cab#version=6,5,439,72"></object>
- 打印测试哈哈哈
- <input type="button" value="直接" onclick="printit(true, false)" />
- <input type="button" value="不直接" onclick="printit(false, true)" />
- </body>
- </html>
相关推荐
本文将深入探讨如何使用ScriptX控件进行Web打印,并分享一些关键知识点。 1. **ScriptX的基本原理**: ScriptX控件通过JavaScript或者VBScript与服务器端交互,为Web应用提供了直接控制打印机设置的能力,包括纸张...
使用ScriptX控件进行Web打印的步骤大致如下: 1. **安装和引用**:用户需要在客户端计算机上安装ScriptX控件,然后在HTML页面中引入相关的JavaScript库。通常,这可以通过在部分添加ScriptX的脚本引用实现。 2. **...
ScriptX控件是一款专门用于Web打印的技术解决方案,由Meadroid公司开发,它提供了一种高效、便捷的方式,使得在Web浏览器中实现高质量的打印功能成为可能。此控件允许开发者为网页添加自定义的打印选项,从而克服了...
在传统的Web浏览器中,打印功能往往简单且受限,ScriptX控件则弥补了这一不足,使得网页内容可以按照设计者的需求精确地呈现在纸上。 **主要功能与特点:** 1. **高级定制性**:ScriptX允许开发者控制打印的每一个...
**标题与描述解析** 标题中的"SCRIPTX免费的active控件"指的是ScriptX,这是一个ActiveX控件,专为在Internet Explorer...理解和掌握ScriptX的使用,可以极大地提升Web应用的用户体验,尤其是涉及大量打印需求的场景。
1. **跨浏览器支持**:ScriptX控件兼容多种主流浏览器,包括Internet Explorer、Chrome、Firefox、Safari和Edge,确保在各种环境下都能实现一致的打印体验。 2. **精确控制打印**:ScriptX允许开发者对打印内容进行...
5. **开发应用**:对于开发者来说,ScriptX控件可以简化Web打印功能的开发,通过JavaScript或者其他服务器端语言调用其API,实现定制化的打印逻辑。 6. **安全性考量**:由于ActiveX控件可能会带来安全风险,用户在...
ScriptX是一款专业的Web打印控件,它为网页和应用程序提供了高效、便捷的打印解决方案。这款控件由Meadroid公司开发,旨在解决浏览器内置打印功能的局限性,为用户提供更全面、更定制化的打印体验。以下是对ScriptX...
4. **安全性和稳定性**:由于通过了Microsoft的签名验证,ScriptX控件在安全性方面得到了保障,避免了潜在的恶意代码风险,同时提高了系统的稳定性。 5. **多种版本选择**:ScriptX提供了不同的版本以适应不同的...
Web打印控件ScriptX是一种专为网页打印设计的技术解决方案,尤其在JavaScript环境下有着广泛的应用。它允许用户通过浏览器直接打印网页内容,而无需借助其他插件或者弹出打印对话框,提高了网页打印的便捷性和用户...
ScriptX是由Meadroid公司开发的一款专门用于Web打印的解决方案。它提供了一种在IE和基于Chromium的Edge浏览器中进行高质量、自定义打印的方法。核心组件smsx.cab是一个包含必需DLL和ActiveX控件的压缩文件,而smsx....
关于标签“源码”,如果你曾经对ScriptX控件进行过自定义或集成,那么在卸载前,你需要检查代码库,删除所有与ScriptX相关的代码和依赖。确保项目中不再有任何引用,否则可能导致运行时错误。 至于“工具”,可能是...
在本文中,我们将深入探讨如何利用ScriptX控件进行Web打印的设置,以及该控件在实际应用中的实例。 ScriptX控件是由Meadroid公司开发的一款专门用于Web打印的ActiveX组件,它提供了高级的打印控制功能,可以解决...
在安全考虑方面,由于ActiveX控件可能带来潜在的安全风险,因此建议只从可信任的源下载并使用ScriptX控件。 总的来说,ScriptX.cab文件是实现高效、定制化的WEB打印功能的重要组件,尤其适用于那些依赖IE浏览器的...
2. **Meadco ScriptX**:ScriptX是Meadco公司的产品,提供高质量的Web打印解决方案,它能克服浏览器默认打印设置的限制,允许开发者精细控制打印样式和内容。 3. **C#集成ScriptX**:在C#项目中使用ScriptX,开发者...
scriptx打印控件就不用我做介绍了吧 演示地址:需先根据提示安装根证书 http://g.99081.com/netnec/ http://users5.titanichost.com/netnec/scriptx/
1. **连续打印**:ScriptX允许用户进行无边界、连续的打印作业,这意味着可以一次性打印多页文档,而无需人工干预或设置分页。这对于批量生产报表、标签或其他需要连续输出的场景非常有用。 2. **自定义打印**:...
以上代码首先检查ScriptX是否可用,然后创建一个打印选项对象,设置所需的打印参数,最后调用 `print()` 方法进行打印。 **五、注意事项** 1. **安全警告**:由于ActiveX控件的安全风险,现代浏览器可能会阻止其...
超强的 Web打印控件 Scriptx6,含制作授权文件的详细步骤,以及 升级到 最新 7.0.0.8 的方法。 不用安装 根证书 root.cer。 这个 文档 包含 Scriptx6 的控件 及 授权文件制作的所有相关程序,以及 最新的 ...
总结来说,"scriptx smsxweb打印去页眉 页脚"涉及的技术主要是使用ScriptX和SMSXWeb这两个工具来控制Web打印,通过它们提供的API和方法,我们可以精细调整打印设置,包括去除通常由浏览器自动添加的页眉和页脚。...