如何从 Web 应用程序打印到收据打印机?
Posted
技术标签:
【中文标题】如何从 Web 应用程序打印到收据打印机?【英文标题】:How to print from web application to receipt printer? 【发布时间】:2011-01-12 15:29:28 【问题描述】:我的客户要求我通过我的网络应用程序在 Epson TM U220 (http://pos.epson.com/products/TM-U220.htm) 上打印收据。我不知道该怎么做。是否有任何 java 小程序或其他可用于打印的东西?我应该使用 JasperReports 吗? (JasperReports 是否有助于解决这个问题?) 如果有可以使用的 Flash 应用,我不反对使用。
我正在为我的网络应用程序使用 Grails。
【问题讨论】:
【参考方案1】:您不需要小程序,您可以从 grails 控制器使用任何 Java 库。使用 javax.print 中运行时可用的 Java 打印服务。这是假设打印机安装在运行 grails 运行时的位置。
【讨论】:
【参考方案2】:要使其正常工作,只需将收据打印机设置为默认打印机并将其重命名为“zebra”:
然后直接下载jZebra库,把jar文件放到项目目录下,嘿嘿:
<input type=button onClick="print()" value="Print">
<applet name="jzebra" code="jzebra.PrintApplet.class" archive="./jzebra.jar" >
<param name="printer" value="zebra">
</applet>
<script>
function print()
document.jzebra.append("PRINTED USING JZEBRA\n");
document.jzebra.print();
</script>
【讨论】:
这几天没那么容易了...来自 Oracle 的更新 45 要求对 Java 小程序进行签名才能在没有提示的情况下运行,因此在生产环境中安全使用 QZ Print 会产生一些成本。 @RobbieAverill 使用 qzpint websocket 也有这些限制? @Venkat 不确定。如果您在客户端浏览器上运行 Java 小程序(您需要这样做以连接到打印机),那么它可能需要以任何一种方式进行签名【参考方案3】:不久前,我创建了一个应用程序来写入 POS 系统的收据打印机。我们这样做的方法是打开一个打印机,它通过管道连接到正确的收据打印机。我们手动将字符代码发送到打印机以创建粗体、下划线、字体更改等,因为客户要求我们这样做(有另一个应用程序使用这些字符代码,他们希望我们也使用它们) .
如果您不想像我一样进行手动操作,JavaPOS 是一个不错的选择。它有很多与收据打印机打印相关的东西(肯定比我上面描述的要优雅得多)。您可以在 http://www.javapos.com/ 找到它。
【讨论】:
以上是关于如何从 Web 应用程序打印到收据打印机?的主要内容,如果未能解决你的问题,请参考以下文章