問題タブ [opos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opos - 同一の JavaPOS/OPOS ドライバーを使用して、2 つまたは複数の同一のサーマル プリンターに接続して印刷しますか?
リクエスト
同じドライバーを使用して少なくとも 2 つの同一のサーマル プリンターに接続する必要がある POS アプリ (Java ベース) を作成しました。プリンターは次のように動作する必要があります。
アプリケーション起動時>> 各プリンタは
open(),claim(),setDeviceEnable(true)1 回アプリケーション停止時>> 各プリンターは
setDeviceEnable(false),release(),close()POSPrinter1 で印刷する食品
- POSPrinter2で印刷するドリンクアイテム
これまでに試したこと
2 つの POSPrinter オブジェクトを作成しました
- 両方のプリンターが開始/要求された場合、アプリケーションの開始中にエラーは発生しません
- POSPrinter1 で食品を印刷しながら正常に動作
POSPrinter2 で飲み物アイテムを印刷しようとしたときに、以下に示すエラーが発生しました:
jpos.JposException: com.sewoo.jpos.POSPrinterService.printNormal(POSPrinterService.java:4130) で 103 printDrinkByPrinter(PrintManager.java:1359) で util.PrintManager.printOrdering(PrintManager.java:1931) で util.PrintManager.lambda$print$17(PrintManager.java:1668) で ...
問題
そのため、init/claim 中に両方のプリンターが検出されましたが、POSPrinter2 がjpos.POSPrinter.printNormal(Unknown Source). POSPrinter1 は POSPrinter2 の前に要求されたため、JavaPOS ドライバーは POSPrinter1 にのみ接続されているのではないかと思います。では、単一の JavaPOS ドライバーが単一のデバイスとしか通信できない可能性はありますか?
同時に 2 つの印刷デバイスと通信できるようにするには、2 つの JavaPOS ドライバーをインストールする必要がありますか? もしそうなら、どうすればアプリを設定できますか?
これは機能しますが、印刷プロセスが遅くなります
open(),claim(),setDeviceEnable(true)印刷ジョブの前に経由していずれかのプリンターに接続しますsetDeviceEnable(false),release(),close()印刷ジョブが正常に実行された後、プリンターを切断します
ただし、各印刷ジョブの後に接続/切断すると、印刷プロセスが大幅に遅くなります。プリンタが最終的に伝票を印刷するのを確認するには、印刷ジョブが送信されてから通常 3 ~ 5 秒待つ必要があります。
c# - キャッシュ ドロアーが開いているか閉じているかを確認する
C# と WPF を使用して POS を開発しています。キャッシュ ドロワーが開いているかどうかを確認して、次の販売までにキャッシュ ドロワーを閉じる必要があることをユーザーに伝えないようにする必要があります。
私のキャッシュ ドロワーはレシート プリンター ECLine に接続された dynapos です (Windows のジェネリックを使用するだけで、ドライバーはインストールされていません)。このプリンターは USB で PC に接続されています。これまでのところ、RawPrinterHelper を使用して印刷し、次を使用してキャッシュドロワーを開くことができます。
キャッシュ ドロワーを開くことができるのと同じように、いくつかのバイトを送信してキャッシュ ドロワーのステータスを取得したいと考えていました。私はこの解決策を見つけました:
ドロワーのステータスを取得するには、DLE EOT n を使用する必要があります
問題は、メソッドRawPrinterHelperを使用するとから応答が得られないため、バイトが適切なものかどうかを知ることができないことです。SendBytesToPrinter
質問:
1) RawPrinterHelper を使用してこのステータスを取得する方法はありますか?
2) 送信しているバイトが正しいものでない場合、どのバイトが正しいかをどのように判断できますか?
3) プリンターのドライバーをインストールする必要がありますか? 一部の人々がそれを行っていることを読んだことがありますが、POS がインストールされている場所ごとに異なるハードウェアがあるため、これを行いたくありません。
c# - OPOS ドライバーが存在しないプリンター
印刷用に OPOS を使用して (c# で) POS を開発しています。これまでのところ、エプソンにはそのモデルのいずれかに OPOS をインストールするためのツールがあることがわかりましたが、他のモデルに OPOS をインストールするためのドライバーやツールは見つかりませんでした。プリンタのブランド (例: Ec Line 80320)。私の質問は次のとおりです。ドライバーが存在しない場合、プリンターを OPOS で動作させるにはどうすればよいですか?
c# - 現在のバーコード スキャンはどのように値を出力できますか?
私は Datalogic 社の GD4430 ハンドヘルド スキャナを付属の OPOS ドライバと共に使用しています。次のコードを使用して、スキャナーに対処することができます。プログラムを起動すると、スキャナーがアクティブになり、スキャンできるようになります。しかし、結果を TextBox に表示できません。
エラーがどこにあるのか誰にもわかりますか?
Visual Studio 2010 C#