問題タブ [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.

0 投票する
0 に答える
805 参照

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 秒待つ必要があります。

0 投票する
1 に答える
2409 参照

c# - キャッシュ ドロアーが開いているか閉じているかを確認する

C# と WPF を使用して POS を開発しています。キャッシュ ドロワーが開いているかどうかを確認して、次の販売までにキャッシュ ドロワーを閉じる必要があることをユーザーに伝えないようにする必要があります。

私のキャッシュ ドロワーはレシート プリンター ECLine に接続された dynapos です (Windows のジェネリックを使用するだけで、ドライバーはインストールされていません)。このプリンターは USB で PC に接続されています。これまでのところ、RawPrinterHelper を使用して印刷し次を使用してキャッシュドロワーを開くことができます。

キャッシュ ドロワーを開くことができるのと同じように、いくつかのバイトを送信してキャッシュ ドロワーのステータスを取得したいと考えていました。私はこの解決策を見つけました:

ドロワーのステータスを取得するには、DLE EOT n を使用する必要があります

問題は、メソッドRawPrinterHelperを使用するとから応答が得られないため、バイトが適切なものかどうかを知ることができないことです。SendBytesToPrinter

質問:

1) RawPrinterHelper を使用してこのステータスを取得する方法はありますか?

2) 送信しているバイトが正しいものでない場合、どのバイトが正しいかをどのように判断できますか?

3) プリンターのドライバーをインストールする必要がありますか? 一部の人々がそれを行っていることを読んだことがありますが、POS がインストールされている場所ごとに異なるハードウェアがあるため、これを行いたくありません。

0 投票する
2 に答える
426 参照

c# - OPOS ドライバーが存在しないプリンター

印刷用に OPOS を使用して (c# で) POS を開発しています。これまでのところ、エプソンにはそのモデルのいずれかに OPOS をインストールするためのツールがあることがわかりましたが、他のモデルに OPOS をインストールするためのドライバーやツールは見つかりませんでした。プリンタのブランド (例: Ec Line 80320)。私の質問は次のとおりです。ドライバーが存在しない場合、プリンターを OPOS で動作させるにはどうすればよいですか?

0 投票する
1 に答える
268 参照

c# - 現在のバーコード スキャンはどのように値を出力できますか?

私は Datalogic 社の GD4430 ハンドヘルド スキャナを付属の OPOS ドライバと共に使用しています。次のコードを使用して、スキャナーに対処することができます。プログラムを起動すると、スキャナーがアクティブになり、スキャンできるようになります。しかし、結果を TextBox に表示できません。

エラーがどこにあるのか誰にもわかりますか?

Visual Studio 2010 C#