Webアプリケーションのデータベースに製品情報を保存できるようにしたいので、バーコードを適切な製品IDとして使用するのがよいと判断しました。今のところ、コードの数値表現をデータベースに保存できるようにしたいので、最大の長さ、形式などを見つける必要があります...
最終的には、バーコードリーダーと統合できるようにしたいと思います。
誰かがバーコードプログラミングを始めるのに役立つ良いリソースはありますか?
Webアプリケーションのデータベースに製品情報を保存できるようにしたいので、バーコードを適切な製品IDとして使用するのがよいと判断しました。今のところ、コードの数値表現をデータベースに保存できるようにしたいので、最大の長さ、形式などを見つける必要があります...
最終的には、バーコードリーダーと統合できるようにしたいと思います。
誰かがバーコードプログラミングを始めるのに役立つ良いリソースはありますか?
多くのバーコード プロジェクトに基づいて、ここに簡単な要約を示します。
バーコードを使用しているため、アプリケーションは何か別のことを知ったり実行したりする必要はありません。それらは、他の方法で印刷される可能性のあるデータの単なる表現です。シンボルとディメンションは、必要なときにまとめてカプセル化された抽象化レイヤーで処理できます。
シンボル体系は一般に、顧客基準、業界基準などのスポット要件によって決定されます。社内で使用する場合は、通常、Code 39 が適切なデフォルトと見なされます。
印刷に関しては、ほとんどの要件は、レーザー プリンター、特殊なラベル ストック、およびダウンロード可能なフォントを使用して処理できます。特別なプリンタも、Zebra、Intermec などを含む多くのソースから入手できます。しかし、これらはより高価であり、印刷する独自の(高価な)紙に注意する必要があります.
フォント。一般的には「バーコード フォント」を Google で検索しますが、便利な代替手段はこのPostscript バーコード ジェネレーターで、ほとんどの Postscript プリンターでほとんどすべてのシンボルをほとんどすべての寸法で印刷します。
バーコードの読み取り。PC 入力デバイスでバーコードを読み取る場合、通常、これは、通常のオープン/クローズ/読み取り/書き込み/ioctl と同等のものを提供するデバイス ドライバーで実装されるか、実際のキーボードとインラインの代理キーボードとして実装されるため、入力はキーストロークとして表示されます (オプションで端末の改行を使用します。) PC 以外のデバイスには、明らかに独自のプログラミング要件があります。
私はかなりの量のバーコード作業を行いました。
慣れる必要がある 2 つの側面があります。
バーコードの生成/印刷
これには、特定のタイプのバーコード形式の使用が含まれます。Code 128 は通常、最も一般的で、ほとんどの形式で最も読みやすく、最小のバーコードを印刷します。Code 128 形式のバーコードを印刷するには、バーコードを印刷するためにソフトウェアに統合するフォント、購入可能なライブラリ (idautomation など) などが必要です。Code 39 も一般的です (通常は無料です)。バーコード化するデータが大きくなるにつれて、非常に広いバーコードを印刷します。
バーコード付きのラベルを印刷する場合は、Zebra プリンターを検討することをお勧めします。優れたプログラミング言語 (ZPL) が組み込まれているため、あらゆる種類のバーコードをネイティブに生成できます。フォントやライブラリを購入する必要はありません。
ここで考慮すべき重要なことは、バーコードの読み取りやすさです。バーコードは、フォントのようにサイズが異なります。バーコードがメディアに印刷され、スキャン可能であること (しわ、折り目、はがれなどがないこと) を確認することが非常に重要になります。
バーコードの読み取り/使用
バーコードの読み取りは、ある種のスキャナーから始まります。あらゆるタイプのバーコードを読み取り、デコードされたバーコードを入力として送信するものを入手できます。そのため、画面でフィールドを選択して何かをスキャンすると、バーコードの内容がそのフィールドに入力されます。
他にできることは、symbol や psion teklogix などによって作られた Palm OS または Windows ce/mobile を実行するモバイル スキャナを購入することです。あなたのワークフロー。
車輪の再発明をしないことで、人生がずっと楽になることがわかりました。上記のすべての製品を使用しましたが、それらがうまく統合されていることがわかりました. 無料の優れた Java バーコード ライブラリもいくつかあります。.NET 用のものもきっと見つかります。他にご不明な点がございましたら、お問い合わせください。
バーコード スキャナーを使用するアプリをいくつか作成しましたが、そのほとんどは特別なプログラミングを必要としません。入力は通常、キーボードからのものとまったく同じようにプログラムに見えます。したがって、バーコードに格納されているものと同等の数値を受け入れるようにデータ入力フォームを作成するだけで、ほとんどのスキャナーで問題ありません。最初に考えていたよりもサポートするのはずっと簡単です。
一方、バーコードの印刷はやや複雑で、通常は特別なツールキットが必要です。利用可能な無料のフォントがありますが、結果は、エンコードしているものに応じて、ヒットまたはミスする可能性があります.
安価なバーコード リーダーを使用する場合は、Code128を使用します。ほぼ任意の長さの数値および/またはテキストをエンコードできます (数値のみのコンテンツは 50% 小さいバーコードに変換されます)。
バーコードのデコードにカメラ/電話を使用する場合は、datamatrixを使用します。約 1kb のデータを datamatrix バーコードに入れることができます。(編集 2015: QRcode はゆっくりと datamatrix を殺すようです。そのため、datamatrix の代わりに QRcode を使用してください。)
ウィキペディアには、バーコードのトピックに関する非常に適切な記事があります。
恥知らずなプラグイン: バーコードがエンコードおよびデコードされる方法に興味がある場合は、純粋な Python で最も一般的なバーコード スキームを実装する無料の Python ライブラリhuBarcodeを参照してください。私の会社から発行されています。
スキャナがキーボードをシミュレートするため、バーコードの読み取りは非常に簡単です。したがって、入力する代わりにスキャンするだけです。スキャナーとトラックボールのみを備えた PC で使用される内部 Web アプリケーションがいくつかあります。キーボードはまったくありません。このようなセットアップには、特別なドライバーは必要ありません。
バーコードにはさまざまな形式があります。
プログラミング言語やバーコードスキャナーベンダーにまだ縛られていない場合は、スキャナーベンダーに相談して、どのライブラリが利用可能になっているかを確認するのが最適です。ベンダーが開発者にライブラリを提供していることに基づいて、適切な一致が見つかる場合があります。
ポイント カードのバーコードと一致するバーコードを生成する、iPhone Wallet Zero ホームページ用の Wallet Zero を開発しました。それに取り組んでいる間、私はいくつかの良い参考文献とリソースを見つけました(いくつかは他の人によってすでに言及されています):
ほとんどのバーコードリーダーは非常にシンプルです。PCに関する限り、それらは単なるキーボード入力です。現在のほとんどのスキャナーは、さまざまなエンコード方式を自動的に読み取って解読できます。アプリケーションがキーボードだけでなくスキャナーからの入力を検出できるように、特別な前置/後置を送信するように構成できます。ほとんどのスキャナーは、スキャンするバーコードのタイプが重要な場合は、それを通知するように構成することもできます。
一部のバーコードは数値のみであり、一部は英数字です。数字のみを扱うことに確信が持てない場合を除いて、英数字データを許可するようにデータベースを設計することをお勧めします。
言語を指定しなかったので、 RealWorldHaskellの第12章を参照してください。
それはあなたが望むものとは正確に一致しないかもしれませんが、面白くて役立つかもしれません。
CueCat をチェックアウトする必要があります。
:-)