IRONQRの使用

C# QR コードリーダー(ステップバイステップ チュートリアル)

ジョルディ・バルディア
ジョルディ・バルディア
2022年2月23日
共有:

新しいさまざまなバーコードのオンデマンド生成は、多くの商用.NETアプリケーションの重要な側面です。 IronBarcodeライブラリは、他のサードパーティオプションと比較して、非常に素早く、便利で簡単です。 このチュートリアルでは、その方法を説明する。

1. 新しいプロジェクトの作成

Visual Studioを開き、ファイルメニューに移動します。 新しいプロジェクトを選択し、次にコンソール アプリケーション/Windows Forms/WPF アプリケーションを選択します。 バーコードは、すべてのタイプのアプリケーションで使用することもできます。 さらに、Webform/MVC/MVC Coreなどのアプリで使用することもできる。

C# QRコードリーダー(ステップバイステップのチュートリアル)、図1: 新しいプロジェクトを設定

新しいプロジェクトを構成する

Visual Studioの適切なテキストボックスにプロジェクト名を入力し、ファイルパスを選択します。 次に、Create ボタンをクリックし、必要な .NET Framework を選択します。 プロジェクトは、選択したアプリケーションの構造を生成します。 コンソール アプリケーションを選択した場合、program.csファイルが開き、コードを入力してアプリケーションをビルド/実行できます。

2.IronBarcode NuGetパッケージのインストール

次に、Visual Studio のソリューション エクスプローラーに移動し、プロジェクトを左クリックします。 ポップアップメニューからNuGet Package Managerを選択し、キーワードとして「Barcode」を検索します。 NuGet Packageダイアログで最初の結果を選択し、インストールオプションをクリックします。

C# QRコードリーダー(ステップバイステップのチュートリアル)、図2: NuGetパッケージマネージャからIronBarcodeライブラリをインストール

NuGet パッケージ マネージャーから IronBarcode ライブラリをインストール

または、Visual Studio で次の手順に従います: ツール > NuGet パッケージ マネージャー > パッケージ マネージャー コンソール に移動します。

パッケージマネージャーコンソールタブを開きます。 下の行をタイプする:

Install-Package IronQR

C# QRコードリーダー(ステップバイステップチュートリアル)、図3: NuGetパッケージマネージャーコンソール

NuGet パッケージ マネージャー コンソール

バーコードリーダーSDKの最新バージョンについては、以下のリンクをご覧ください。

https://www.nuget.org/packages/barcode

次に、パッケージはすべてのDLLファイルをダウンロードし、現在のプロジェクトのDLLファイルの参照を.NETプロジェクト参照として追加します。

これでVisual Studioプロジェクトは、コード上で使用する準備が整った。

3.リファレンスの追加

コードにIronBarCode参照を以下のように追加し、IronBarcodeライブラリの機能を.NET Coreで使用できるようにします。 バーコードリーダーコントロール、QRコードの読み取り、コンポーネント、QRコードタイプのサポート、そしてバーコードリーダーSDKの互換性について詳しく知りたい方は、こちらのリンクを参照してください:https://ironsoftware.com/csharp/barcode/

using IronBarCode;

4.バーコードインスタンスの作成

BarcodeReader は、QRコードを読み取り/作成するために使用される静的クラスです。 静的クラスBarcodeReaderのためにオブジェクトインスタンスを作成せずに使用できます。 バーコードリーダーコントロールは、単一の関数[Read](/csharp/barcode/object-reference/api/IronBarCode.BarcodeReader.html#IronBarCode_BarcodeReader_Read_IronSoftware_Drawing_AnyBitmap_IronBarCode_BarcodeReaderOptions_)または[ReadAsync](/csharp/barcode/object-reference/api/IronBarCode.BarcodeReader.html#IronBarCode_BarcodeReader_ReadAsync_IronSoftware_Drawing_AnyBitmap_IronBarCode_BarcodeReaderOptions_)を使用して15種類のバーコードをスキャンする機能を提供します。 IronBarcodeライブラリは様々なソースからのQRコード/バーコードの読み取りを可能にします:

  • 文字列
  • ストリーム
  • 画像
  • ビットマップ

5. Stringを使用してバーコードを読み取る

.NETバーコードリーダーライブラリを使用すると、QRコードやバーコード画像を簡単に読み取ることができます。 Read メソッドは、QRコード画像をスキャンして、QRコードおよびバーコードをテキストにデコードする静的関数です。 ビットマップ、PNGファイル、JPEG、TIFFなど、様々なタイプの画像ファイルに対応しています。

このRead関数は画像からQRコード/バーコードのデータを抽出し、結果をBarcodeResultオブジェクトとして取得します。 画像ファイルがコードによって認識されない場合、nullが返されます。

BarcodeResultには以下の値があります:

  • バーコードタイプ
  • 価値
  • 提供されたテキストが見当たりませんでした。翻訳を希望する具体的な英語のテキストを提供してください。それに基づいて日本語に翻訳いたします。
  • バイナリ値

    BarcodeTypeは列挙型データであり、指定された入力画像のバーコードの種類を返します。 IronBarcodeでは22種類のバーコードがサポートされています。 これは、与えられた入力画像に適用されるバーコードのタイプを返します。

    値とテキストもBarcodeResultで利用可能なオブジェクト型の値です。 valueもtextも文字列データ型である。これはバーコードの文字列値を返します。 Read メソッドは、QRコードとバーコードを読み取り、指定されたバーコード画像の文字列値を値/テキストとして取得します。 バイナリ値はバイトデータ型で、与えられた画像のバイトを返します。 以下は、.NET Windowsフォームまたは.NETスタンダードアプリケーションにコピーコードできるクイックレスポンスコードです。

BarcodeResult result = BarcodeReader.Read("test.bmp");
// Assert that IronBarCode Works :-)
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Assert that IronBarCode Works :-)
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
Dim result As BarcodeResult = BarcodeReader.Read("test.bmp")
' Assert that IronBarCode Works :-)
If result IsNot Nothing AndAlso result.Text = "https://ironsoftware.com/csharp/barcode" Then
	System.Console.WriteLine("Success")
End If
$vbLabelText   $csharpLabel

上記のコードは、.NETバーコードリーダーライブラリを使用してQRコードとバーコードを読み取る方法を示しています。 使い方は簡単で、システムからファイルをビットマップオブジェクトにマッピングする。 また、画像からQRコード/バーコードをデコードし、結果をオブジェクトに表示します。 以下は、コード化されたデータをスキャンするためにコード内に提供されたQRコード/バーコードです。

C# QRコードリーダー(ステップバイステップのチュートリアル)、図4: バーコード入力

バーコード入力

6.TIFF画像から複数のバーコードを読み取る

.NET バーコードリーダー コントロールでは、同じReadメソッドを使用して画像ファイルから複数のQRコード/バーコードを読み取ることができ、非常に使いやすいです。

以下は、画像から複数のQRコードを読み取るサンプルコードです:

// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

BarcodeResult [] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

BarcodeResult [] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
' Configure options
Dim options As New BarcodeReaderOptions() With {
	.ExpectBarcodeTypes = BarcodeEncoding.Code128,
	.ExpectMultipleBarcodes = True
}

Dim multiFrameResults() As BarcodeResult = BarcodeReader.Read("Multiframe.tiff", options)
$vbLabelText   $csharpLabel

上記のコードでは、TIFF QRコード画像からQRコードを抽出している。 .NETバーコードリーダーは、システムからの画像からQRコードをスキャンし、結果を配列として返します。 上記のコードでは、Code128 のバーコードのみがスキャンされます。 画像上に他のバーコードがある場合、それらは無視されます。

7.PDFからQRコードとバーコードを読み取る

このセクションでは、PDF文書からQRコードを読み取る方法を説明します。 QRコードライブラリは、利用可能なすべてのQRコードについて、利用可能なすべてのページとファイルをスキャンするか、または1つの特定のタイプのバーコードに焦点を当てます。 IronBarcodeを使用する場合、ライブラリは標準バーコードリーダーに必要なすべての関連DLLを提供しますので、.NETプロジェクトリファレンスとして他のDLLをインクルードする必要はありません。

以下は、PDFからQRコード/バーコードを読み取るために使用できるサンプルコピーコードです。

PagedBarcodeResult [] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (PagedBarcodeResult pageRes in pagedResults)
{
    int pageNumber = pageRes.PageNumber;
    string value = pageRes.Value;
    Bitmap img = pageRes.BarcodeImage;
    BarcodeEncoding barcodeType = pageRes.BarcodeType;
    byte [] binary = pageRes.BinaryValue;
    Console.WriteLine(pageRes.Value);
}
PagedBarcodeResult [] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (PagedBarcodeResult pageRes in pagedResults)
{
    int pageNumber = pageRes.PageNumber;
    string value = pageRes.Value;
    Bitmap img = pageRes.BarcodeImage;
    BarcodeEncoding barcodeType = pageRes.BarcodeType;
    byte [] binary = pageRes.BinaryValue;
    Console.WriteLine(pageRes.Value);
}
Dim pagedResults() As PagedBarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")
' Work with the results
For Each pageRes As PagedBarcodeResult In pagedResults
	Dim pageNumber As Integer = pageRes.PageNumber
	Dim value As String = pageRes.Value
	Dim img As Bitmap = pageRes.BarcodeImage
	Dim barcodeType As BarcodeEncoding = pageRes.BarcodeType
	Dim binary() As Byte = pageRes.BinaryValue
	Console.WriteLine(pageRes.Value)
Next pageRes
$vbLabelText   $csharpLabel

上記は、単純なReadPdfメソッドを使用してPDFファイルからQRコード/バーコードを読み取るサンプルコードです。 また、各バーコードとそのタイプの詳細な結果を提供することもできる。

結論

.NETバーコードリーダーは、簡単なステップでQRコードを読み取ったり、QRコードやバーコードをデコード/作成したりするシンプルで簡単な方法を提供します。 IronBarcode DLLは、.NET Windows Formsアプリケーション、モバイルアプリ、Webアプリケーション、MAUI、およびBlazorなどのさまざまな環境で、.NET Frameworkまたは.NET Standardを使用して利用できます。 さらに、IronBarcode は、バーコード読み取り速度を向上させるために、切り取り領域マルチスレッドML モデルの精度など、幅広いカスタマイズオプションを提供します。 IronBarcodeは無料のトライアルキーを提供しています。また、現在Iron Software から5つの製品を2つの価格で購入することができます。

詳細はライセンスページをご覧ください。

また、ZIPファイルプロジェクトをダウンロードすることもできます。

ジョルディ・バルディア
ソフトウェアエンジニア
ジョルディは、Iron Softwareでのスキルを活かしていないときには、ゲームプログラミングをしており、Python、C#、C++に最も堪能です。彼は製品テスト、製品開発、研究の責任を共有しており、継続的な製品改善に大きな価値をもたらしています。この多様な経験は彼を常に挑戦的で魅力的に保ち、彼はIron Softwareで働く一番好きな側面の一つだと言っています。ジョルディはフロリダ州マイアミで育ち、フロリダ大学でコンピューターサイエンスと統計学を学びました。
< 以前
VB .NETでQRコードを作成する方法