複数の POS プリンターがあり、プリンターの種類を自動的に認識する必要があります。POS.NET やプリンター ドライバーを使用せずに行う必要があります。どうやってやるの?
3 に答える
このようなプリンタを認識する標準的な方法はありません。
一般的なケースでは困難または不可能です (プリンターは異なる COM ポート構成 (ボーレートなど) と異なるプロトコルを使用する場合があります)。多くのプリンタは、DIP スイッチまたはコマンドの送信によってさまざまな方法で構成できるという事実によって、さらに複雑になります。
認識する必要のあるプリンターの数がかなり少なく、そのすべてについて正しい COM ポート構成がわかっている場合は、コマンドの送信と応答の読み取りを試して、サポートしているプリンターの中でプリンターを一意に識別できる組み合わせを見つけることができます。
多くの POS プリンターは ESC/POS プロトコルのバリエーションをサポートしており、ステータス リクエストへの応答 (各プリンターのマニュアルを参照) には違いがあるため、区別することができます。
もちろん、継続的なメンテナンスの頭痛の種になります。新しいプリンター モデルをサポートするたびに、特徴的な特性を見つけて、認識ソフトウェアを更新する必要があります。
ソースコードで多くの POS プリンターをサポートするこのプロジェクトを見てください。
各プリンターの実装には、接続されているプリンターを自動検索するための認識サブルーチンがあります。
簡単な Google 検索を行っただけで、使用可能なプリンターをリストすることができるかもしれません。例は次のとおりです。
そしてここ:
これが単にインストールされているプリンターをリストしているのか、それともオンラインのプリンターをリストしているのかわかりませんか?