【问题标题】:automatically printing a vbhtml page without the print dialog在没有打印对话框的情况下自动打印 vbhtml 页面
【发布时间】:2014-01-16 17:41:27
【问题描述】:

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

我研究了 JS window.print() 和几个 JQuery 插件,但我不能完全得到我的解决方案。

这将仅用于内部公司网络

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

【问题讨论】:

  • 我以跨浏览器的方式解决了一个类似的问题,将标签(在我的情况下)放在 pdf 中并将 javascript 嵌入到 pdf 中,以便在打开时打印 - 然后如果浏览器打开 PDF默认情况下(可能因为它在我们控制的机器上),强制下载 pdf 会导致它被打印。
  • 感谢您的信息。我也在考虑这条路线

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


【解决方案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 可能会有所帮助。

【讨论】:

  • 谢谢约翰,我在帖子中添加了更多信息。你给我的解决方案看起来很有希望。
猜你喜欢
  • 2011-04-05
  • 1970-01-01
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多