0

入力として ( Redmonから) プリンターに送られるデータ ストリームを取得するアプリケーションを作成しています。データ ストリームには、モノクロ ビットマップとしてレンダリングされたテキストが含まれており、プリンターはそれを紙に印刷するために使用します。このデータ ストリームを解析し、プリンターに送信されるテキストを理解する予定です。私のアプリケーションは、任意の Windows アプリケーションから送信されてプリンターに送信されるデータを解析します。

データ ストリームを解析する方法は、ピクセル情報を (バイト単位で) 照合することです。完全に一致する場合は、文字を一意に識別できます。このため、すべての Windows アプリケーションが同じ Windows レンダラーを使用してフォントをピクセル単位でレンダリングすると想定しています。したがって、これらのアプリケーション(Javaベースのものを含む)がテキストを印刷するために同じフォントとフォントサイズを使用する場合、特定の文字に対して常に同じバイトシーケンスを取得します。これは正しい仮定ですか、それとも Windows は印刷用にテキストをレンダリングするためのさまざまなオプションをアプリケーションに提供しますか?

また、モノクロのビットマップ データを使用して文字認識を行うためのライブラリはありますか?

注: 私が使用しているプリンターは、ESC/POS 互換プリンターです。これらのプリンタのプリンタ ドライバは、印刷するデータをモノクロ ビットマップとして送信します。

4

1 に答える 1

0

私は ESC/POS プリンターに詳しくありませんが、ドライバーが常にテキストをモノクロ ビットマップとしてレンダリングすることを保証できる場合、同じフォントとサイズで文字が同一である可能性は非常に高くなりますが、100% ではありません。まず、回転、スケーリング、せん断も考慮に入れる必要があります。フォント サイズだけでなく、変換マトリックス全体を考慮する必要があります。

他に少なくとも 2 つの障害点が考えられます: 1) 透明度でオーバーレイされたテキスト、および 2) マシンに同じ名前の別のフォントがインストールされている場合。たとえば、Helvetica のような一般的なフォントは多くのソースから入手できますが、文字はそれらの間で同一ではありません。3 番目に考えられる失敗は、プリンターがモノクロで、カラーまたはグレースケールで印刷されるという事実を無視するアプリケーションです。カラーまたはグレースケールをモノクロに変換すると、色ごとに異なるビットマップが生成されます。

OCR ソフトウェアに関しては、ウィキペディアに OCR SDK の優れた比較表があります。

于 2012-08-14T19:41:03.243 に答える