0

私はキオスクプリンターの完全な初心者です。

Java アプリからゼブラ kr203 キオスク プリンターに文字列を送信する必要があります。

マシンは Windows 7 PC に接続され、そのドライバーがインストールされています。テストページの印刷は問題なく動作します。

プリンターのセットアップ ユーティリティもインストールしました。これらのユーティリティを使用すると、EPL2 言語を使用してプリンターにコマンドを送信できます。繰り返しますが、私は EPL2 に完全に慣れていませんが、いくつかのサンプル コマンドを試しましたが、何も機能しませんでした。

短い文字列をプリンターに送信するための基本的な Java コードを書いてもらえますか?

シンプルなコマンドライン アプリだけで、GUI は必要ありません。

編集: Google で正しい printService を取得するコードを見つけましたが、それでも何も出力されません。

編集番号 2: Web サイトで提供されている Zebra SDK を使用することになりました。グーグルで簡単に見つけることができるコード例がそこに保管されています。古いコードは役に立たないので編集しました。

SDK と例を使用して、当初考えていたように、プリンターが実際には EPL ではなく ZPL2 を使用していることがわかりました。

SDK には、コマンドを送信するための独自の API があり、私にとっては非常にスムーズに動作します。

4

2 に答える 2

1

これは私が最終的に使用したものです:

String defaultPrinter = PrintServiceLookup.lookupDefaultPrintService().getName();
com.zebra.sdk.comm.Connection myconnection = new com.zebra.sdk.comm.DriverPrinterConnection(defaultPrinter,1000,1000);
myconnection.open();
com.zebra.sdk.printer.ZebraPrinter myprinter = ZebraPrinterFactory.getInstance(myconnection);
String command = "^XA\n" +
                    "^FO50,50\n" +
                    "^A@N,20,20,E:TT0003M_.FNT\n" +
                    "^FDUplatili ste XXXX na račun XXXXXXXXXX^FS\n" +
                    "^FO50,150\n" +
                    "^A0,32,25\n" +
                    "^FD"+ date.toString()+ "^FS\n" +
                    "^FO50,250\n" +
                    "^A0,32,25^FDSlavnoska Avenija 19, 10000 Zagreb^FS\n" +
                    "^XZ";
myprinter.sendCommand(command);
myconnection.close();
于 2015-04-09T07:50:54.267 に答える