Java 如何从web应用程序打印到收据打印机?

Java 如何从web应用程序打印到收据打印机?,java,grails,jasper-reports,point-of-sale,Java,Grails,Jasper Reports,Point Of Sale,我的客户要求我在我的web应用程序中的Epson TM U220()上打印收据。我不知道怎么做。是否有java小程序或其他我可以用来打印的东西?我应该使用JasperReports吗?(JasperReports是否有助于解决此问题?) 如果有可以使用的flash应用程序,我不反对使用它 我正在为我的web应用程序使用Grails 您不需要小程序,从grails控制器可以使用任何Java库。使用javax.print中运行时可用的Java打印服务。这是假设打印机安装在grails运行时运行的地方

我的客户要求我在我的web应用程序中的Epson TM U220()上打印收据。我不知道怎么做。是否有java小程序或其他我可以用来打印的东西?我应该使用JasperReports吗?(JasperReports是否有助于解决此问题?) 如果有可以使用的flash应用程序,我不反对使用它


我正在为我的web应用程序使用Grails

您不需要小程序,从grails控制器可以使用任何Java库。使用javax.print中运行时可用的Java打印服务。这是假设打印机安装在grails运行时运行的地方。

我创建了一个应用程序,在不久前为POS系统写入收据打印机。我们这样做的方法是打开一个打印器,它通过管道连接到正确的收据打印机。我们手动将字符代码发送到打印机,以创建粗体、下划线、字体更改等,因为客户要求我们这样做(有另一个应用程序使用这些字符代码,他们希望我们也使用它们)


如果您不想像我一样经历手动过程,一个好的选择是JavaPOS。它有很多与打印收据打印机相关的东西(肯定比我上面描述的要优雅得多)。您可以在。

找到它。要使其正常工作,只需将收据打印机设置为默认打印机,并将其重命名为“zebra”:

然后,只需下载库,将jar文件放在项目目录中,然后执行以下操作:

<input type=button onClick="print()" value="Print">
<applet name="jzebra" code="jzebra.PrintApplet.class" archive="./jzebra.jar" width="100" height="100">
      <param name="printer" value="zebra">
</applet>

<script>
      function print() {
       document.jzebra.append("PRINTED USING JZEBRA\n");
       document.jzebra.print();
      }
</script>

函数打印(){
document.jzebra.append(“使用jzebra\n打印”);
document.jzebra.print();
}

现在可不容易了。。。Oracle的update 45要求Java小程序在没有提示的情况下进行签名才能运行,因此在生产环境中安全使用QZ Print会带来一些成本。@RobbieAverill使用qzpint websocket也有这些限制?@Venkat不确定。如果在客户机浏览器上运行Java小程序(需要这样做才能连接到打印机),则可能需要对其进行签名