2014-01-16 125 views
0

我已经创建了一个简单的asp.net应用程序,该应用程序从生产线上的用户处获取输入,然后需要生成5个条形码并将其打印出来。当数据输入并通过网页表格插入时,我有vbhtml页面自动生成条形码。他们打开并显示条形码。 我需要它们在页面打开时自动打印,方法是跳过打印对话框并直接转到默认打印机。自动打印没有打印对话框的vbhtml页面

我已经研究了JS window.print()和几个JQuery插件,但我无法完全获得我的解决方案。 条形码将在网页中每个码开:

这只是一个内部公司网路

下面是详细信息上使用。每个条形码将打印到不同大小的标签。 标签大小将保存为打印机中的命名布局,我想在打印时定义纸张布局。

+0

我以跨浏览器的方式解决了一个类似的问题,将标签(在我的情况下)放入pdf中,并将JavaScript嵌入到pdf中,以便打开时打印 - 然后如果浏览器默认打开PDF它在我们控制的机器上),强制下载PDF导致它被打印。 – Basic

+0

感谢您的信息。我正在考虑这条路线 – Ryan

回答

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> 

该子打印有效地替换默认的打印功能。所有你需要在Javascript是...

window.print(); 

还有一个commercial product可能有所帮助。

+0

谢谢约翰,我添加了一些更多的信息到我的文章。你给我的解决方案看起来很有希望。 – Ryan