`
xo_tobacoo
  • 浏览: 385267 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

完美直接打印方法三例2.0

阅读更多

1)javascript版本,缺陷直接打印不能实现。

使用document.all.WebBrowser.ExecWB(6,6)

2)javascript实现2,缺陷:需要装打印机驱动

用javascript 在客户端直接打印输出,

这个方案的思路是用windows的FileSystemObject,打开COM1或者LPT1,然后就把指令写进去就可以了,代码片断如下:

<script Language=JavaScript> 
function print_onclick() {
    var objfs = new ActiveXObject("Scripting.FileSystemObject");
    var objprinter=objfs.CreateTextFile("COM1:",true);

    objprinter.Write(String.fromCharCode(0x1B) + "@");
    objprinter.Writeline("_________________");
    objprinter.Writeline("| 您打印的数据是飞龙环保网址:http://www.hnjnd.com/") ;
    objprinter.Writeline("|________________|")  ;
    objprinter.Close();
}
</script>

这样就可以直接打印了。这样打印的相同的内容几乎是马上就完成了,基本不用等待,比40s的时间不知道快了多少倍。

 

3)用VBscript.缺陷:企业开发中用的越来越少吧

6=OLECMDID_PRINT
2=OLECMDEXECOPT_DONTPROMPTUSER,
2+1=PRINT_WAITFORCOMPLETION + PRINT_DONTBOTHERUSER
WB.ExecWB 6, 2, 3, 0
<HTML>
<HEAD>
<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>
<SCRIPT LANGUAGE="VBScript">
Sub window_onunload
On Error Resume Next
Set WB = nothing
End Sub
Sub vbPrintPage ( x , y , z )
OLECMDID_PRINT = 6
OLECMDEXECOPT_DODEFAULT = 0
OLECMDEXECOPT_PROMPTUSER = 1
OLECMDEXECOPT_DONTPROMPTUSER = 2
On Error Resume Next
WB.ExecWB x, y, z, 0
End Sub
</SCRIPT>
</HEAD>
<BODY>
<TABLE BORDER=1><TR><TD>
<INPUT TYPE="BUTTON" VALUE="Print" ONCLICK="vbPrintPage 6, 2, 3"><BR>
<INPUT TYPE="BUTTON" VALUE="Preview" ONCLICK="vbPrintPage 7, 1, 0"><BR>
<INPUT TYPE="BUTTON" VALUE="Page Setup" ONCLICK="vbPrintPage 8, 1, 0"><BR>
</TD>
<TD bgcolor="green">Print Test
</TD></TR></TABLE>
</BODY>
</HTML>

 

 4)另外补充两个知识:

1页面打印的时候当调用“页面设置”命令,则页面html页面会停止加载,也就是说打印机设置和html加载时同步的,不是异步的。

2document.execCommand(Stop)命令可以停止页面加载,继续加载命令还在研究中

0
1
分享到:
评论

相关推荐

    asp.net知识库

    深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的私有变量 关于反射中创建类型实例的两种方法 ASP.Net应用程序的多进程模型 NET委托...

    JAVA上百实例源码以及开源项目

     在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-...

    JAVA上百实例源码以及开源项目源代码

    消息驱动Bean必须实现两个接口MessageDrivenBean和MessageListener 在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被...

    java源码包---java 源码 大量 实例

     在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-...

    java源码包2

     在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-...

    java源码包3

     在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-...

    java源码包4

     在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    消息驱动Bean必须实现两个接口MessageDrivenBean和MessageListener 在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    消息驱动Bean必须实现两个接口MessageDrivenBean和MessageListener 在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被...

    网软志成分类信息网站系统.net官方商业版

    网软志成平台为用户提供可持续性技术保障,完美无忧。多样化的风格改造,为用户提供非凡体验。 非凡的访问速度 秉承网软志成分类网独创的模板和数据库体系以及专业的代码设计保证了网软志成分类信息网系统的持续...

Global site tag (gtag.js) - Google Analytics