IRONBARCODEの使用

C# バーコードスキャナー ステップバイステップチュートリアル

ジョルディ・バルディア
ジョルディ・バルディア
2022年10月20日
更新済み 2024年2月7日
共有:

このチュートリアルでは、サードパーティライブラリを使用してバーコードスキャナーを作成する方法を示します。 この目的のために利用できるライブラリは多数ありますが、一部は有料であり、一部は機能が少なく、一部は実装が困難です。 非常に包括的で有用なライブラリを見つけるのは、無料で効率的かつ実装が簡単なものでは困難な作業です。

このため、.NET バーコードスキャナーの開発に最適なIronBarcodeを使用します。 それに加えて、開発に無料で使用でき、高効率で実装が簡単であるという追加の利点があります。 IronBarcodeを使用すると、開発者は.NETアプリケーションやウェブサイト内でバーコードやQRコードを読み書きできます。 このライブラリを使用すれば、バーコードの読み取りまたは書き込みは1行のコードで実行できます。

.NETのバーコードライブラリは、ほとんどのバーコードおよびQRコードの標準を読み書きします。 サポートされているバーコードの種類には、Code 39/93/128、UPC A/E、EAN 8/13、ITF、RSS 14 / Expanded、Databar、Codabar、Aztec、Data Matrix、MaxiCode、PDF417、MSI、Plessey、USPS、およびQRコードが含まれます。 バーコードの結果データには、種類、テキスト、バイナリデータ、ページ、および画像ファイルが含まれます。

バーコード作成APIは形式、長さ、番号、チェックサムを確認し、検証することで、エンコーディングエラーを自動的に回避します。 バーコードライターはスタイリング、サイズ変更、余白、境界線、再着色、テキスト注釈の追加を可能にします。 バーコードライターは、BMP、PNG、GIF、TIFF、およびJPGを含む画像ファイルに書き込むことができます。 それはまたPDFやHTMLファイルに書き込むこともできます。

バーコードスキャナーを作成して、よりよく理解しましょう。

Visual Studio プロジェクトを作成する

まず、デモアプリを開発するためのVisual Studioプロジェクトを作成します。または、既存のプロジェクトを開くこともできます。

コア機能に焦点を当てた新しいコンソールアプリケーションプロジェクトを作成するには、以下の手順に従ってください。 同じコードは、Web API、MVC、Web Forms、またはWindows Formsアプリケーションに実装できます。

  1. Visual Studio を開く

  2. 新しいプロジェクトを作成をクリック

  3. テンプレートを選択し、次へボタンをクリックします

  4. プロジェクトに名前を付け、「次へ」ボタンをクリックします

  5. ターゲットフレームワークを選択し、次へボタンをクリックします。

  6. 作成ボタンをクリックし、次へボタンをクリックします。

    以下のように新しいプロジェクトが作成されます:

    C# バーコードスキャナーステップバイステップチュートリアル、図 1: コンソールアプリケーション

    コンソールアプリケーション

    次のステップは、その機能を利用するためにIronBarcode NuGet パッケージをインストールすることです。

IronBarcodeのNuGetパッケージをインストールする

ライブラリは、パッケージ マネージャー コンソール、NuGet パッケージ マネージャーソリューションを使用してインストールするか、NuGet BarCode パッケージページから直接インストールできます。

以下の手順に従ってください:

  1. ツール > NuGet パッケージ マネージャー > パッケージ マネージャー コンソール をクリックします。

    C# バーコードスキャナーステップバイステップチュートリアル、図2: パッケージマネージャーコンソールUI

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

  2. 次のコマンドを入力してください
Install-Package BarCode

パッケージがインストールされます。

では、バーコード画像をスキャンするコードを書いてみましょう。

画像ファイルからバーコードをスキャンする

以下の名前空間を追加してください

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

次に、main関数の中に以下のコードを書いて、画像からバーコードデータを読み取ります。

var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");
Console.WriteLine(myBarcode);
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");
Console.WriteLine(myBarcode);
Dim myBarcode = BarcodeReader.Read("D:\Barcode Images\mybarcode.jpeg")
Console.WriteLine(myBarcode)
$vbLabelText   $csharpLabel

BarcodeReader クラスは、ファイルパスを引数として取る Read 関数を提供します。 この関数は画像を読み取り、バーコードデータを返します。 このメソッドは、開発者が特定のユースケースに対してパフォーマンスと精度をバランスさせるための詳細な設定を備えたBMP、PNG、GIF、TIFF、またはJPGからバーコードを読み取ります。

パスには、アプリケーションがスキャンする以下のバーコード画像が含まれています。

バーコード画像

C# Barcode Scanner ステップバイステップチュートリアル, 図3: このコンソールアプリケーションで使用するバーコード画像

このコンソールアプリケーションで使用されるバーコード画像

このプログラムが正しい結果を生成するかどうか確認するために、このバーコード画像を読み取りましょう。

出力

C# Barcode Scanner ステップバイステップ チュートリアル、図 4: アプリケーション実行時のコンソール出力

アプリケーション実行時のコンソール出力

プログラムが正確な出力を生成したことが見られます。

PDFからバーコードをスキャンする

PDFの請求書からバーコードをスキャンする必要がある状況は多く存在します。この例では、以下の請求書からバーコードをスキャンします。

PDFドキュメント

C# バーコードスキャナーステップバイステップチュートリアル、図5:PDF形式の請求書

PDF形式の請求書

PDFドキュメントからバーコードをスキャンするための以下のコードスニペットを検討してください:

var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
Dim myBarcode = BarcodeReader.ReadPdf("D:\Barcode Images\invoice.pdf")
For Each barcodeData In myBarcode
	Console.WriteLine(barcodeData.Value)
Next barcodeData
$vbLabelText   $csharpLabel

BarcodeReader クラスは引数としてファイルパスを受け取る ReadPdf 関数を提供します。 この関数はPDFファイル内のバーコード画像を探し、バーコード全体をスキャンし、そのデータを配列として返します。 この機能は、ドキュメントに埋め込まれたすべての画像からバーコードを読み取ります。

バーコードのデータをコンソールに出力するために使用されるforeachループ。

出力

請求書番号がコンソールに印刷されます。

C#バーコードスキャナーステップバイステップチュートリアル、図6: コンソール出力に請求書番号が表示されます

コンソール出力に請求書番号が表示されます

複数のファイルからバーコードをスキャンする

この例では、画像ファイルから複数のバーコードを同時にスキャンする方法を示します。

バーコード画像

C#バーコードスキャナーのステップバイステップのチュートリアル、図7:以下のサンプルで使用されるバーコード画像

以下のサンプルで使用されているバーコード画像

以下のコードスニペットは、複数のバーコードを読み取り、マルチスレッドを使用してその結果をスキャンします。

List<string> barcodeList = new List<string>();
barcodeList.Add(@"D:\Barcode Images\barcode1.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode2.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode3.jpg");
var batchResults =  BarcodeReader.ReadAsync(barcodeList);
// Work with the results
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
}
List<string> barcodeList = new List<string>();
barcodeList.Add(@"D:\Barcode Images\barcode1.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode2.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode3.jpg");
var batchResults =  BarcodeReader.ReadAsync(barcodeList);
// Work with the results
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
}
Dim barcodeList As New List(Of String)()
barcodeList.Add("D:\Barcode Images\barcode1.jpg")
barcodeList.Add("D:\Barcode Images\barcode2.jpg")
barcodeList.Add("D:\Barcode Images\barcode3.jpg")
Dim batchResults = BarcodeReader.ReadAsync(barcodeList)
' Work with the results
For Each result In batchResults
	Dim barcodeValue As String = result.Text
Next result
$vbLabelText   $csharpLabel

まず、すべてのバーコード画像のファイルパスを保持するリストが作成されます。 次に、ReadAsync関数が呼び出されます。この関数はList<string>型を引数として受け取り、データを返します。 このメソッドは、複数の画像から並行してバーコードを読み取ります。 複数のスレッドが開始され、バッチバーコード読み取りタスクのパフォーマンスを向上させるために自動的に管理されます。

QRコードをスキャン

QRコードの利用は急速に増加しています。 したがって、このセクションでは、C# を使用して QR コードをスキャンする方法を示します。

QRコード

C# バーコードスキャナー ステップバイステップチュートリアル、図 8: このデモで使用されたQRコード

このデモンストレーションで使用するQRコード

以下のコードサンプルをご覧ください:

var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
Dim qrCodeResult = BarcodeReader.Read("D:\Barcode Images\QRcode.jpeg")
For Each result In qrCodeResult
	Console.WriteLine(result.Text)
Next result
$vbLabelText   $csharpLabel

上記で説明したのと同じRead関数を使用してQRコードを読み取ります。 これはIronBarcodeライブラリが提供するシンプルさです。 同じ関数とコードを異なる画像ソースに使用できるようにするため。

出力

C# バーコードスキャナーステップバイステップチュートリアル、図9: QRコードリーダーのコンソール出力

QRコードリーダーのコンソール出力

サマリー

このチュートリアルでは、単一の画像からバーコードをスキャンする方法、PDFドキュメントからバーコードをスキャンする方法、および複数の画像や複数のドキュメントから並行してバーコードをスキャンする非常に簡単な方法を示しました。 同じ関数を異なる機能に使用しました。 それはパフォーマンスとユーザビリティの両方を同時に提供します。IronBarcodeはさまざまな設定でバーコードとQRコードを生成する機能を提供します。 この同じ記事で説明しきれないほど多くの機能があります。 IronBarcodeの詳細な情報を知りたい方は、ドキュメントページをご覧ください。

IronBarcodeはIron Software Suiteの一部です。このスイートには、他にも非常に便利なライブラリが含まれています。例えば、PDFファイルの読み書きを行うIronPDF、Excelファイルを操作するIronXL、画像からテキストを読み取るIronOCR、異なるウェブサイトからデータを抽出するIronWebScraperなどです。 すべてのIron Suiteを2つの個別ライブラリの価格で購入できます。

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