others - 直接从浏览器打印而不打印弹出窗口

请建议什么是最好的选择,我应该如何编写代码。

时间:

VBSCRIPT比在VB6或C#/VB.NET上创建ActiveX要方便得多


<script language='VBScript'>
Sub Print()
 OLECMDID_PRINT = 6
 OLECMDEXECOPT_DONTPROMPTUSER = 2
 OLECMDEXECOPT_PROMPTUSER = 1
 call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
End Sub
document.write"<object ID='WB' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>"
</script>

现在调用:


<a href="javascript:window.print();">Print</a>

AttendStar创建了免费的add-on,用于禁止打印对话框,并删除大多数Firefox版本的页眉和页脚。

https://addons.mozilla.org/en-US/firefox/addon/attendprint/

使用该功能,你可以使用 $('img').jqprint(); jqprint for jquery将仅打印从Web应用程序自动调用的图像。

IE9不再支持像IE7和IE8那样可以调用window.print()来触发Print(),因此window.print()在IE9现在总是触发打印对话框。

修复很简单,你只需要调用Print()本身,而不是在onclick事件中调用window.print()。

你可以在这里找到例子代码:

绕过IE9中的打印对话框

我不相信这是可能的。 允许用户选择的对话框中会显示打印到的打印机。 所以,我们说它可能会对你的应用程序只需点击和打印,用户单击打印按钮,但是有两个打印机连接到计算机。 或者,更可能的情况是,在写字楼有25个用户正在使用的打印机。 没有它,对话框中,如何知道要打印到的打印机的计算机呢?

this.print(false);

我在Chrome,Firefox和IE尝试过这个,它只适用于Firefox和IE,它使用默认的打印机(使用默认打印设置),只在渲染PDF工作。

对于ie浏览器," vbscript解决方案" 的工作方式。

但当提到在 @purefusion Bypass Printdialog中IE9,请使用Print( ) 而不是窗口.print( )?

这应该工作,我尝试过,它为我工作,如果你用true而不是false,则打印对话框将出现。

 
this.print(false);

 

...