2010-02-03 193 views
14

我的客戶要求我在我的web應用程序上打印Epson TM U220(http://pos.epson.com/products/TM-U220.htm)的收據。我不知道該怎麼做。是否有任何Java小程序或其他可用於打印的內容?我應該使用JasperReports嗎? (JasperReports是否有助於解決這個問題?) 如果有可以使用的Flash應用程序,我不反對使用它。如何從Web應用程序打印收據打印機?

我正在爲我的網絡應用程序使用Grails。

回答

3

你不需要applet,從grails控制器你可以使用任何Java庫。在javax.print中使用運行時可用的Java打印服務。假設打印機安裝在運行grails運行時的地方。

2

我創建了一個應用程序,用於寫回POS系統的收據打印機。我們這樣做的方式就是打開一個打印正確收據的打印機。我們手動將字符代碼發送到打印機以創建粗體,下劃線,字體更改等,因爲我們這樣做的客戶要求(還有另一個應用程序使用這些字符代碼,並且他們也希望我們也使用它們) 。

如果您不想像我那樣經歷手動過程,那麼JavaPOS就是一個不錯的選擇。它有許多與打印到收據打印機有關的東西(比我上面描述的要明顯得多)。你會在http://www.javapos.com/找到它。

2

得到這個工作,只需設置您的收據打印機設置爲默認打印機,並將其重命名爲「斑馬」:

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

+1

這並不那麼容易,這些天...更新45從Oracle要求將Java小程序簽署爲無需提示即可運行,因此在生產環境中安全地使用QZ Print會涉及一些成本。 – 2013-12-20 03:25:15

+0

@RobbieAverill是否使用qzpint websocket也有這些限制? – Venkat 2016-10-18 14:39:40

+0

@Venkat不確定。如果您在客戶端瀏覽器上運行Java applet(您需要執行該操作以連接到打印機),那麼可能需要以任一方式對其進行簽名 – 2016-10-19 06:54:11

相關問題