在没有打印对话框的情况下自动打印vbhtml页面

时间:2014-01-16 17:41:27

标签: javascript jquery asp.net vb.net asp.net-webpages

我创建了一个简单的asp.net应用程序,它从生产线上的用户那里获取输入,然后需要生成5个条形码并打印它们。我有vbhtml页面,当输入数据并通过网页表单插入时,它会自动生成条形码。他们打开并显示条形码。 我需要它们在页面打开时自动打印,跳过打印对话框并直接进入默认打印机。

我研究过JS window.print()和一些JQuery插件,但我无法得到我的解决方案。

这将仅用于内部公司网络

以下是更多信息: 条形码将在每个代码的网页中打开。每个条形码都会打印到不同尺寸的标签。 标签尺寸在打印机中保存为命名布局,我想在打印时定义纸张布局。

1 个答案:

答案 0 :(得分:1)

如果您/可以使用Firefox,则可以使用plug in,无需打印对话即可进行无人值守打印。

我还读过您可以在IE中执行此操作,但需要ActiveX,例如:

<script language=JScript>
function doprint() {
document.body.insertAdjacentHTML("beforeEnd", "<object id='idWBPrint' width=0 height=0 classid='clsid:8856F961-340A-11D0-A96B-00C04FD705A2'></object>");
idWBPrint.ExecWB(6, -1);
idWBPrint.outerHTML = ""; }
</script>

或类似的VBScript:

<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>

Sub Print有效地取代了默认的打印功能。你在Javascript中需要的就是......

window.print();

还有commercial product可能会有帮助。