2011-12-15 11 views
5

私は解決策を探していましたが、私のプロジェクトでは最高のものは無料のコード39フォントを使用することです。しかし、私はいくつかのサンプルを印刷しようとしましたが、私のバーコードスキャナはそれらを読み取ることができません。バーコード(コード39)の生成

もう少し調べて、thisを見つけました。

このライブラリを使用してコード39のバーコードを印刷したところ、正常に動作し、スキャナで読み取ることができました。

問題は、ライブラリはC#で作成されていますが、ASP.netでは作成されていないことです。私はコードで遊んでみましたが、それは私の基本的な知識のためには複雑すぎます。そのライブラリコードには多くの機能が含まれており、他のバーコードタイプも多く、分析するのが難しくなっています。

コード39バーコードを生成する他の方法はありますか? codeprojectのライブラリは、私の要件のために少し複雑に思えます。

+3

発電機に問題はありますか?バーコードスキャナは、異なるバーコードタイプを受け入れるようにプログラムされなければならず、バーコードを読み取る能力は印刷品質に依存するだけでなく、イメージのサイズが変更された場合、それに比例して行われることを保証する。ある時点で、オンラインで提供したクーポンには標準のUPCバーコードが付いていましたが、多くの顧客のプリンタは、同じバーコードが時間の約50%で動作するほど低い品質に設定されていました。クライアントのコンピュータ/プリンタの設定を制御することはできません。 – David

+0

こんにちは、私はまた、いくつかのモバイルバーコードリーダーアプリケーションを使用しようとしたが、彼らはまだフリーコード39フォントによって生成されたバーコードを読み取ることができません。 (http://www.squaregear.net/fonts/free3of9.shtml)しかし、私はこのライブラリ(http://www.codeproject.com/KB/graphics/BarcodeLibrary.aspx)を使用してバーコードを生成しようとすると、リーダーアプリはそれを読むことができます。 –

+0

@PodMaysバーコードをCode39フォントとライブラリから印刷すると、まったく同じに見えますか?両方の画像に鮮明なエッジがありますか? – rsbarro

答えて

2

まず、ライブラリはASP.NET用ではないと言いますが、それを使って画像を生成できる場合、最も簡単なことはライブラリのオーバートップにあるHttpHandlerを書き込んでブラウザに画像を生成します。それが.NETライブラリなら、私はそれがうまくいかない理由が何も表示されません。

  1. 有効なCode39のバーコードを生産している(Code39はバーコードの開始と*で終わる必要があり、他の回答を参照してください):言われて、Code39のバーコードを生成するときのために外を見るためにカップルの事があることを

  2. 印刷するバーコードが鮮明にスキャンされていますか?

#1では、あなたのCode39フォントから印刷しているイメージがライブラリのものと同じに見えることを確認します。そうであれば、画質はおそらく問題です。

#2までは、GDI +で無料のコード39フォントを使用して、バーコードイメージを生成し、印刷用にHTMLページに表示しました。印刷されたバーコード画像をスキャンしようとしたときに遭遇した問題の1つは、画像が十分に鮮明でなく(バーコードラインのエッジがぼやけていた)、スキャナで読み取れなかったことでした。

低品質の画像を取得する方法は、大きなCode39バーコードイメージ(たとえば1000 x 400)を生成してから、そのバーコードを表示していた<img>タグで、幅をもっと小さく設定します(200px、または2.0インチ)。私は幅だけを設定してください、高さは画像に比例して拡大します。これにより、画像が印刷されるときに画像のDPIが効果的に増加し、(特にレーザープリンタを使用して印刷している場合)簡単にスキャンできるバーコード画像を生成することができます。

EDIT

はほとんど、これらのバーコードを生成することは常にあなたがバーコード画像の下にバーコード化されているものを印刷するときに使用する1つの別の良い習慣を忘れてしまいました。バーコードイメージが何らかの理由でスキャンされない場合は、それはあなたのフェイルセーフです。任意の標準UPCシンボルを見ると、これの例を見ることができます。下部の数字は、バーコードがスキャンされたときに読み取られる数字です。

5

バーコードスキャナでは、コード39のバーコードの前に付ける必要があり、接尾辞にはアスタリスクを付けて読み取る必要があります。例:*12345*

+0

これは技術的には正しいですが、これを知らない少なくとも1つの病院用医療機器が見つかりました。スキャンするためにCode39のバーコードを作成する必要があります。 – Tremmors

+0

入力いただきありがとうございます、私は*私のコードに入れました。 –

+0

これは私にある時間を節約しました:) –

関連する問題