他のコンポーネントと比較

C# 開発者向け ZXing でバーコードをスキャンする方法

公開済み 2023年6月21日
共有:

イントロダクション

バーコードは、データを明確で機械で読み取り可能な方法で提示します。 最初は、バーコードは幅と間隔が異なる平行線で構成され、データの表現として使用されていました。 以下を日本語に翻訳してください:

これらの従来の線形または一次元の(1次元)バーコードは、バーコードリーダーと呼ばれる専門的な光学デバイスによってスキャンされることがあります。 ただし、バーコードの進化は、2次元の発明につながりました(2D)バーコード(またはマトリックスコード)。 従来のバーコードとは異なり、2Dバーコードはバーの代わりに長方形、ドット、六角形などのパターンを利用します。 これらの2Dバーコードを読み取るには、特定の光学スキャナーのセットアップが利用可能です。また、代替方法として、デジタルカメラをコンピューターに接続し、デコードソフトウェアを実行することが考えられます。 さらに、スマートフォンのようなモバイルデバイスは、統合されたカメラと専用アプリケーションを活用して2Dバーコードスキャナーとして機能することができます。

ZXing バーコードスキャナー

ゼブラクロッシング(一般にZXingとして知られています)は、オープンソースのマルチフォーマット1D/2Dバーコード画像処理ツールキットであり、Javaで開発され、他の言語にも移植されています。 ZXing を構成するモジュールには、コア画像デコーディングライブラリ、Java 専用のクライアントコード、および Android クライアントバーコードスキャナーなどが含まれます。 多くの独立したオープンソースプロジェクトがその上に構築されています。

機能

  • それはURL、連絡先情報、カレンダーイベントなどを追跡することができます。
  • これはJava SEアプリケーションを念頭に置いて作成されました。
  • 目的を通じて、バーコードスキャナーの統合が可能です。
  • それはシンプルなGoogle Glassアプリケーションです。

2. .NETでZXingを使用する

Visual Studioを開き、ファイルメニューから「新しいプロジェクト」を選択し、「コンソールアプリケーション」を選択します。 この記事では、C#コンソールアプリを選択します。

ZXingを使用してバーコードをスキャンする方法 (C#開発者向け) 図1

適切なテキストボックスにプロジェクト名とファイルパスを入力してください。 次に、「作成」ボタンをクリックして、必要な.NET Frameworkを選択します。

コンソールアプリケーションを選択した場合、プロジェクトは構造を作成して program.cs ファイルを開き、プログラムのコードを入力してビルドまたは実行できるようにします。

C# 開発者向けZXingでバーコードをスキャンする方法 図2

2.1 ZXing Barcodeのインストール

次のコマンドをNuGetパッケージマネージャーコンソールに入力してください。

Install-Package ZXing.Net.Bindings.Windows.Compatibility

また、NuGetパッケージマネージャーツールを使用してアイテムを取得することもできます。 以下のイラストのように。 最初に選んだ結果をインストールしてみてください。

ZXingでバーコードをスキャンする方法 C#開発者向け 図3

2.2 ZXingを使用してバーコードを読み書きする

以下のサンプルコードを使用してバーコードを作成できます。 ZXingでは、10種類以上のバーコードフォーマットを作成することができます。

using ZXing.Windows.Compatibility;

var options = new QrCodeEncodingOptions
{
    Width = 250,
    Height = 250,
};

var writer = new BarcodeWriter();
writer.Format= BarcodeFormat.QR_CODE;
writer.Options = options;
System.Drawing.Bitmap _bitmap=writer.Write("Hello world");
_bitmap.Save("Demo1.png");
using ZXing.Windows.Compatibility;

var options = new QrCodeEncodingOptions
{
    Width = 250,
    Height = 250,
};

var writer = new BarcodeWriter();
writer.Format= BarcodeFormat.QR_CODE;
writer.Options = options;
System.Drawing.Bitmap _bitmap=writer.Write("Hello world");
_bitmap.Save("Demo1.png");
Imports ZXing.Windows.Compatibility

Private options = New QrCodeEncodingOptions With {
	.Width = 250,
	.Height = 250
}

Private writer = New BarcodeWriter()
writer.Format= BarcodeFormat.QR_CODE
writer.Options = options
Dim _bitmap As System.Drawing.Bitmap=writer.Write("Hello world")
_bitmap.Save("Demo1.png")
VB   C#

上記では、QrCodeEncodingOptionsの高さと幅を設定しています。 次に、BarcodeWriterのオブジェクトを作成します。 BarcodeWriterのバーコード形式をQR_Codeとして設定しています。 次に、前に作成した qrcode オプションを割り当てます。 BarcodeWriterのwrite関数は、指定された文字列をバーコードにエンコードし、バーコードをビットマップ画像として返します。 次に、ビットマップ内の保存機能を使用して、画像を保存できます。 以下はコードの結果です。

ZXingでバーコードをスキャンする方法 C#開発者向け 図4


using ZXing.Windows.Compatibility;
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
var reader = new BarcodeReader();
var result = reader.Decode(barcodeBitmap);
if (result != null)
{
    Console.WriteLine(result.Text);
    Console.ReadKey();
}

using ZXing.Windows.Compatibility;
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
var reader = new BarcodeReader();
var result = reader.Decode(barcodeBitmap);
if (result != null)
{
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
Imports ZXing.Windows.Compatibility
Private barcodeBitmap = CType(System.Drawing.Bitmap.FromFile("demo.png"), System.Drawing.Bitmap)
Private reader = New BarcodeReader()
Private result = reader.Decode(barcodeBitmap)
If result IsNot Nothing Then
	Console.WriteLine(result.Text)
	Console.ReadKey()
End If
VB   C#

上記のコードでは、まず画像をビットマップに読み込みます。次に、BarcodeReaderオブジェクトを作成します。 Decode関数では、ビットマップをパラメータとして渡すことができ、結果を複数のタイプで返すことができます。次に、Textプロパティを使用して、バーコードにエンコードされたテキストを取得します。

C#開発者向けZXingでバーコードをスキャンする方法 図5

IronBarcode

このバーコードライブラリを使用すると、バーコードの読み取りや作成が簡単になります。 ダイナミックなバーコードは、IronBarcodeのライブラリを使用すれば簡単に作成できます。 わずか数行のコードで、このシンプルなライブラリはバーコードを生成することができ、バーコード画像をエンコードするのに役立ちます。 IronBarcodeは、C#やVB.NETのような言語でバーコードを生成することができます。

機能

  • IronBarcodeは、UPC A/E、Databar、EAN 8/13、MSI、Code 39/93/128、CodaB、RSS 14/Expanded、ITFを含む、ほとんどのバーコード画像フォーマットおよびQRスタンダードを読み書きすることができます。
  • スキャンやリアルタイムのビデオフレームをスキャンする際、IronBarcodeは回転、ノイズ、歪み、傾きを補正することができます。 読取りの精度と速度を向上させるために、IronBarcodeはバーコード画像が作成される際に自動的に前処理を行います。 動的バーコードは、コンテンツを変更できるため、頻繁に使用されます。
  • IronBarcodeの複数のコアやスレッドを活用する能力は、バッチ処理サーバーにとって有利です。
  • シングルページおよびマルチページのドキュメントにおいて、IronBarcodeはバーコードを自動的に1つまたは複数検出することができます。

    2. IronBarcodeの使用

(2. IronBarcodeの使用)

ソリューションでIronBarcodeライブラリを使用するには、必要なパッケージをダウンロードする必要があります。 以下に説明されているパッケージマネージャーのコードを使用して、これを実行してください:

:PackageInstall

代替手段として、NuGetパッケージマネージャーを使用することができます。これにより、すべての検索結果が表示され、「Barcode」パッケージを検索してダウンロードすることができます。 次に、それらからプログラムにダウンロードするための必要なパッケージを選択できます。

ZXingを使用してバーコードをスキャンする方法 C#開発者向け 図6

3. IronBarcodeを使用してバーコードを読み書きする

数行のコードで、IronBarcodeライブラリを使用して迅速にバーコード画像を作成することができます。 さらに、作成したバーコードを別の画像ファイルとして保存することもできます。以下は、コンソールプログラムでバーコードラベルを作成するためのサンプルVisual Basicコードです。

using IronBarCode;
QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("demo.png");
using IronBarCode;
QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("demo.png");
Imports IronBarCode
QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("demo.png")
VB   C#

500×500ピクセルのグラフィックは中程度のエラー訂正レベルを使用して作成され、SaveAsPngメソッドを使用してファイルの保存場所に保存されます。

次のコード例は、前の例で作成したQRコードにエンコードされたテキストを読み取ります。

var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
var reader=IronBarCode.BarcodeReader.Read(barcodeBitmap);
Console.WriteLine(reader.Values()[0]);
Console.ReadKey();
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
var reader=IronBarCode.BarcodeReader.Read(barcodeBitmap);
Console.WriteLine(reader.Values()[0]);
Console.ReadKey();
Dim barcodeBitmap = CType(System.Drawing.Bitmap.FromFile("demo.png"), System.Drawing.Bitmap)
Dim reader=IronBarCode.BarcodeReader.Read(barcodeBitmap)
Console.WriteLine(reader.Values()(0))
Console.ReadKey()
VB   C#

まず画像をビットマップに読み込み、その後 BarcodeReader クラスの Read メソッドを使用して画像を読み取ります。 QRコードから読み取った内容を取得するために、Readメソッドから返されるBarcodeResultsオブジェクトのValuesプロパティを使用します。

ZXingとIronBarcodeの比較について詳しく知りたい場合は、こちらをお読みください次のブログ投稿.

摂 Our バーコードの読み取りチュートリアルには、IronBarcodeを使用してバーコードやQRコードを読み取る方法についての詳細も記載されています。 IronBarcodeに関するコードチュートリアルについては。

結論

ZXingバーコードスキャナーは高品質なバーコードを生成できますが、時代遅れであり、サポートされているバーコード形式が少ないです。 それに加えて、限定されたドキュメントと製品サポートもあります。

一方、IronBarcodeは非常に効率的で柔軟性があり、多くのオペレーティングシステムで機能します。 IronBarcode は、バーコードの色、サイズ、間隔、文字を変更できます。 Crystal Reportsもサポートしています。

開発者は[use IronBarcode

を使用](download-modal)無料で ユーザーは購入できますライセンス追加機能にアクセスし、1年間のサポートおよび製品更新を受け取るために。

次へ >
ZXing.org QRコードライブラリとIronBarcodeの徹底比較