3

こんにちは。Bluetooth 経由で印刷するときのサーマル プリンターの問題をトラブルシューティングしています。問題のプリンターは Extech 3750T で、ソフトウェアは Windows CE で実行されています。ドライバーは Winsock の上に実装され、C++ で記述されています。私が知る限り、接続のハウスキーピングはすべて仕様どおりです。

問題は、画像が印刷されているときに (10 分の 1 程度) プリンターが停止することがあるようです。次に、次の印刷ジョブが送信されると、1 行 (1 ピクセル幅) のゴミが出力され、新しいページが印刷されます。

ドライバーは RTF の上に構築され、RTF コマンドとグラフィックスをプリンター固有の文字とエスケープ シーケンスに変換します。開発者向けマニュアルは、次の場所から入手できます。

http://www.adtech.com.pl/upload/3750T_Developers_Manual.pdf

この段階では、これはフロー制御の問題ではないとかなり確信しています (バッファ サイズを変更すること以外は、何らかの形で役立つ可能性があります)。

確認されていることの 1 つは、プリンターが故障するたびに用紙切れの制御文字をデバイスに送信することですが、その時までにそれを復旧するには遅すぎるということです。

また、テキストがまだ印刷されているに画像を送信したことが問題の原因だと思います。5 秒待つだけの汚いハックはそれをなくすように見えますが、テキストのサイズ (フォント サイズ、太さなど) が必要な遅延の量に影響するため、実稼働環境でそれを実装するのは面倒です。

明示的な解決策ではなく、これに取り組む方法についての提案を探していると思います。

何か案は?

4

1 に答える 1

4

これで約7日が経過した後、プリンタメーカーからサポートを受け、一度に1行ずつ画像を送信することで問題を解決しました。この特定のプリンタは、1バイトが8ビットのグラフィックを表し、オプションで最大129回繰り返すことができる画像圧縮メカニズムを使用しています。

私は非常に多くのバイトごとにデータストリームを壊そうとしましたが、それは役に立ちませんでした。それは、画像が複数の送信に分割されることを好まないためだと思います。一度に1行(約72バイト)を送信すると、問題が修正されました。

于 2009-09-04T06:42:30.097 に答える