フッターコンテンツにスキップ
IRONQRの使用
IronQRを使用してQRコードを読む方法

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

新しく多様なバーコードをオンデマンドで生成することは、多くの商用.NETアプリケーションにおいて重要な側面です。 IronBarcodeライブラリは、他のサードパーティオプションと比較すると、これを非常に迅速、便利、そして簡単に行うことができます。 このチュートリアルは、これがどのようにそうであるかを示すことを目的としています。

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

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

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

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

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

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

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ファイルをダウンロードし、現在のプロジェクトに.NETプロジェクト参照としてDLLファイルの参照を追加します。

Visual Studioプロジェクトは、コードと共に使用する準備が整いました。

3. 参照の追加

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

using IronBarCode;
using IronBarCode;
Imports IronBarCode
$vbLabelText   $csharpLabel

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

BarcodeReaderは、QRコードを読み/作成するために使用される静的クラスです。 静的クラスBarcodeReaderのオブジェクトインスタンスを作成せずに使用することができます。 バーコードリーダー制御は、15種類のバーコードを単一の機能ReadまたはReadAsyncを使用してスキャンする機能を提供します。 IronBarcodeライブラリは、様々なソースからQRコード/バーコードを読むことを可能にします:

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

5. Stringを使用したバーコードの読み取り

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

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

BarcodeResultには次の値があります:

  • バーコードタイプ
  • テキスト
  • バイナリ値

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

値とテキストもBarcodeResultに用意されているオブジェクトタイプの値です。 値とテキストの両方が文字列データタイプであり、バーコードの文字列値を返します。 ReadメソッドはQRコードやバーコードを読み取り、指定されたバーコード画像の文字列値を値/テキストとして取得します。 バイナリ値はバイトデータタイプであり、指定された画像のバイトを返します。 以下は、任意の.NET Windowsフォームまたは.NETスタンダードアプリケーションで使用できるQRコードです。

// Read a barcode from an image file
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Check if the result is not null and matches the expected text
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
// Read a barcode from an image file
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Check if the result is not null and matches the expected text
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
' Read a barcode from an image file
Dim result As BarcodeResult = BarcodeReader.Read("test.bmp")
' Check if the result is not null and matches the expected text
If result IsNot Nothing AndAlso result.Text = "https://ironsoftware.com/csharp/barcode" Then
	System.Console.WriteLine("Success")
End If
$vbLabelText   $csharpLabel

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

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

6. TIFFイメージから複数のバーコードを読み取る

.NETバーコードリーダー制御を使用すると、同一のReadメソッドを使用して画像ファイルから複数のQRコード/バーコードを読み取ることができ、非常に簡単です。

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

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

// Read multiple barcodes from a TIFF image
BarcodeResult[] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
// Configure barcode reader options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

// Read multiple barcodes from a TIFF image
BarcodeResult[] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
' Configure barcode reader options
Dim options As New BarcodeReaderOptions() With {
	.ExpectBarcodeTypes = BarcodeEncoding.Code128,
	.ExpectMultipleBarcodes = True
}

' Read multiple barcodes from a TIFF image
Dim multiFrameResults() As BarcodeResult = BarcodeReader.Read("Multiframe.tiff", options)
$vbLabelText   $csharpLabel

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

7. PDFからのQRコードおよびバーコードの読み取り

このセクションでは、PDFドキュメントからQRコードを読み取る方法を示しています。 QRコードライブラリは、利用可能なすべてのページおよびファイルに対してすべての利用可能なQRコードをスキャンするか、特定のバーコードタイプに焦点を当てることができます。 IronBarcodeを使用する場合、標準バーコードリーダーに必要なすべてのDLLがライブラリによって提供されているため、.NETプロジェクト参照として他のDLLを含める必要はありません。

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

// Read barcodes from each page of a PDF document
PagedBarcodeResult[] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Process results for each page
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);
}
// Read barcodes from each page of a PDF document
PagedBarcodeResult[] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Process results for each page
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);
}
' Read barcodes from each page of a PDF document
Dim pagedResults() As PagedBarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")
' Process results for each page
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に関する詳細な情報は、公式ドキュメントページをご覧ください。 IronBarcodeは無料トライアルキーを提供しています。また、現在、Iron Softwareからの5つの製品を2つの価格で購入することができます。

ライセンスページでさらなる情報をご覧ください。

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

よくある質問

C#でQRコードを読むことはできますか?

IronBarcode NuGetパッケージをVisual Studioにインストールし、必要な参照を追加して、BarcodeReaderクラスを利用することで、IronQRライブラリを使用してC#でQRコードを読むことができます。

Visual StudioでQRコード読み取りプロジェクトを開始する手順は?

Visual StudioでQRコード読み取りプロジェクトを開始するには、新しいプロジェクトを作成し、IronBarcode NuGetパッケージをインストールし、必要な参照を追加して、BarcodeReaderクラスを使用して各種ソースからQRコードを読み取ります。

画像から複数のQRコードを読み取ることはできますか?

はい、IronQRライブラリは、オプションを設定して複数のコードに対応するReadメソッドを使用して、単一イメージから複数のQRコードを読み取ることができます。

C#でPDFドキュメントからQRコードを抽出する方法は?

PDFドキュメントにQRコードをスキャンして各ページから詳細な結果を取得するために、IronQRライブラリのReadPdfメソッドを使用できます。

C#でQRコード読み取りのカスタマイズオプションは何ですか?

IronQRは、クロップ領域の設定、マルチスレッドの有効化、機械学習モデルの精度の調整などのカスタマイズオプションを提供し、QRコード読み取りのパフォーマンスを向上させます。

IronQRは商用アプリケーションに適していますか?

はい、IronQRは商用.NETアプリケーション向けに設計されており、信頼性と効率性の面で優れたQRコード読み取り機能を提供します。

IronQRを使用したQRコード読み取りをサポートする環境は?

IronQRは、Windowsフォームアプリケーション、モバイルアプリ、ウェブアプリケーション、MAUI、Blazorなど、.NET Frameworkまたは.NET Standardを使用するさまざまな.NET環境をサポートしています。

IronQRの使用に関するライセンス情報はどこで確認できますか?

IronQRの使用に関するライセンス情報については、Iron Softwareのウェブサイトのライセンスセクションをご覧ください。

Jordi Bardia
ソフトウェアエンジニア
Jordiは、最も得意な言語がPython、C#、C++であり、Iron Softwareでそのスキルを発揮していない時は、ゲームプログラミングをしています。製品テスト、製品開発、研究の責任を分担し、Jordiは継続的な製品改善において多大な価値を追加しています。この多様な経験は彼を挑戦させ続け、興味を持たせており、Iron Softwareで働くことの好きな側面の一つだと言います。Jordiはフロリダ州マイアミで育ち、フロリダ大学でコンピュータサイエンスと統計学を学びました。