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

时间:2010-02-03 14:15:40

标签: java grails jasper-reports point-of-sale

我的客户要求我从我的网络应用程序打印Epson TM U220(http://pos.epson.com/products/TM-U220.htm)上的收据。我不知道该怎么做。是否有任何java applet或其他我可以用于打印的东西?我应该使用JasperReports吗? (JasperReports有助于解决这个问题吗?) 如果有可以使用的Flash应用程序,我不反对使用它。

我正在使用Grails作为我的网络应用。

3 个答案:

答案 0 :(得分:3)

您不需要applet,您可以使用grails控制器来使用任何Java库。在javax.print中使用运行时可用的Java打印服务。这假设打印机安装在grails运行时运行的位置。

答案 1 :(得分:2)

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

如果您不想像我一样完成手动过程,那么JavaPOS就是一个不错的选择。它有很多与打印到收据打印机有关的东西(肯定比我上面描述的要优雅得多)。您可以在http://www.javapos.com/找到它。

答案 2 :(得分:2)

要实现此功能,只需将收据打印机设置为默认打印机,并将其重命名为“zebra”:

enter image description here

然后只需下载jZebra库,将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>

enter image description here