0

私はTM200プリンターを持っています
。ベンダーはこれに適したドライバーを提供していないようです。

ESC/POSは1つの方法だと思います。
したがって、ネットワークを介して、または.NETとwin APIを使用してWindowsで生の印刷を介して、データを直接プリンターに送信できます。

バッファサイズが気になりますが、プリンタをオーバーフローさせないようにするにはどうすればよいですか?私はそれが96Kバイトのバッファを持っているのを見ました。スプーラを使用して印刷する場合、96kバイトを超えて送信しないようにするにはどうすればよいですか?
ESC / pを使用して印刷する場合でも、次のデータをいつ送信するかをどのように知ることができますか?

他の方法は
、.NETで必要なdllとは別に、OPOSを使用することです。システムには特定のドライバーが必要ですか?これを使う価値はありますか?

4

1 に答える 1

3

これは一般的です。Windows プリンタ ドライバは、プリンタが自由にアドレス指定可能なピクセルを使用するグラフィック モードで動作できる場合にのみ役立ちます。これは、安価なインパクト プリンターやサーマル プリンターでは十分にサポートされていません。それらがサポートされている場合、それらは途方もなく遅くなり、出力は簡単に 10 倍遅くなる可能性があります。そのため、POS プリンターは頻繁に raw モードで操作されます。通常は、ESC コード (0x1b) で始まるエスケープ シーケンスを使用して、プリンター コマンドを直接送信できます。サポートされているコマンドについては、プリンター ドライバーを参照してください。

バッファがオーバーフローする危険はありません。低レベルのドライバーは、一度に 1 バイトまたは USB フレームでプリンターとハンドシェークします。大量のデータをプリンターに送信すると、WritePrinter() 呼び出しは単純に停止し、プリンターが追いつくのを待ちます。

于 2011-07-09T14:29:07.473 に答える