`

ie 打印

 
阅读更多
最近做一小程序需要对Web打印进行精细的位置控制,IE自身的打印功能基本上算是半残废,无法自定义纸张,无法直接打印,并且由于浏览器版本或操作系统本身的设置问题,连最基本的边距设置都会有问题,总之打印已经成为Web程序的最大难题,因此使用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 = &quot;&quot;;//页眉  
factory.printing.footer = &quot;&quot;;//页脚  
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 = &quot;EPSON LQ-1600KIII&quot;;//指定使用的打印机  
//factory.printing.printer = &quot;\\\\cosa-data\\HPLaserJ&quot;;//如为网络打印机,则需要进行字符转义  



factory.printing.paperSize = &quot;A4&quot;;//指定使用的纸张  
  
factory.printing.paperSource = &quot;Manual feed&quot;;//进纸方式,这里是手动进纸  
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>    
分享到:
评论

相关推荐

    IE打印有URL解决方案

    在IT行业中,尤其是在Web开发领域,用户可能会遇到各种问题,其中一种常见的问题是“IE打印有URL”。这通常指的是在使用Internet Explorer(IE)浏览器打印网页时,页面底部会自动显示当前网页的URL,这对于某些不...

    IE打印控件

    **IE打印控件详解** IE打印控件是用于在Internet Explorer浏览器中实现高效、自定义打印功能的一种组件。它通常由一系列DLL动态链接库和安装程序组成,旨在增强用户在网页浏览时的打印体验,提供比浏览器内置打印...

    IE打印边距批处理调整可以永久保存

    可以方便的设置IE打印边距,不用每次都重新设置,设置一次就可以永久生效

    IE打印控件smsx.cab

    总的来说,IE打印控件smsx.cab是一个方便开发者在Web环境中实现高级打印功能的工具,尽管它受限于特定的浏览器和操作系统,但在过去的一段时间里,尤其是在企业级应用中,它发挥了重要的作用。随着技术的发展,现在...

    VB.net中应用IE打印的设置

    "VB.net中应用IE打印的设置"这个主题就是关于如何利用Internet Explorer(IE)的内置打印功能来实现在VB.NET应用程序中的打印操作。下面我们将详细探讨这个过程,以及相关的关键知识点。 首先,我们要明白,VB.NET...

    js调用ie打印和预览功能

    ### 使用JavaScript调用IE浏览器打印和预览功能 在网页开发过程中,经常需要实现文档的打印和预览功能。在Internet Explorer(IE)浏览器中,可以通过JavaScript与ActiveX控件结合来实现这些功能。下面将详细介绍...

    IE打印去除页眉页脚的脚本

    IE打印去除页眉页脚的脚本 通过修改注册表的方法,去除直接打印网页内容时自动附加的页眉页脚。

    如何用IE打印网页.doc编程资料

    如何用IE打印网页.doc

    asp ,js IE 打印功能简易实用代码演示实例

    asp ,js IE 打印功能简易实用代码演示实例,用记事本打开,或另存为网页形式均可浏览

    IE直接打印源码.rar

    标题中的“IE直接打印源码.rar”指的是一个压缩文件,其中包含了用于实现Internet Explorer浏览器直接打印功能的源代码。在Web开发中,直接打印功能允许用户无需先保存或打开文件,就能直接通过浏览器将网页内容发送...

    ie浏览器 js调用 ocx 异步打印pdf、图片控件

    在“ie浏览器 js调用 ocx 异步打印pdf、图片控件”的场景中,我们将探讨如何利用JavaScript调用OCX控件来实现异步打印功能,特别是针对PDF和图片文件。 首先,我们需要在Web服务器上部署这个OCX控件。部署过程包括...

    调用IE内置打印组件完成web打印方案及例程

    ### 调用IE内置打印组件完成Web打印方案及例程 #### 一、概述 在Web开发领域,实现网页内容的打印功能是一项常见的需求。本文档将详细介绍如何利用Internet Explorer(IE)浏览器内置的打印组件来实现网页内容的...

    IE9 网页 Adobe PDF 打印失败的解决方案

    ### IE9 网页 Adobe PDF 打印失败的解决方案 在使用Internet Explorer 9(简称IE9)浏览网页时,遇到Adobe PDF文档打印失败的问题是较为常见的技术难题之一。这种情况不仅会影响工作效率,还可能引发一系列相关的...

    IEPrinter IE下打印控件(自动设置参数)

    IE下页面打印控件 ...1.屏蔽IE打印时出现的打印设置框。 2.自动设置各打印控制参数。 3.实现自动打印。 使用方法 控件的ID为clsid:AE1A309B-6FFA-4FCF-B07F-CB97FFD56B1B 使用Object标签包裹即可。 如 ...

    调用IE自带打印功能实现在线打印

    调用WINDOWS的打印功能,实现WEB打印。简单实用,很实用

    通过调用IE内部组件实现PHP打印

    这个方法主要利用了IE浏览器内核中的WebBrowser控件,该控件可以嵌入到网页中,并执行与浏览器相同的功能,包括打印。 WebBrowser控件的类ID(Class ID)是`CLSID:8856F961-340A-11D0-A96B-00C04FD705A2`,它可以...

    ie8打印不正常问题解决

    1.IE网络等级设置过高,请降到中级或以下进行安装。 2.用户权限不是administration组的权限,无权进行安装。 3.病毒造成注册表被锁等。 如以上情况均不能安装,请用administration组权限用户从网络下载web打印控件...

    去掉打印时的页眉和页脚(IE6-IE8)

    ### 去掉打印时的页眉和页脚(IE6-IE8) 在早期的互联网浏览器中,如Internet Explorer 6至8版本,用户可能会遇到打印网页时自动包含页眉和页脚的问题,这通常包含了网址、日期或浏览器自动生成的一些文本。这些...

    浏览器不弹出打印窗口, 直接调动打印机打印 静默打印程序

    在IT行业中,静默打印(Silent Printing)是一种高级功能,允许应用程序在用户无须交互的情况下直接发送打印任务到打印机。这种技术常用于自动化流程、后台服务或无人值守的环境中,以提高效率并减少人工干预。针对...

Global site tag (gtag.js) - Google Analytics