フッターコンテンツにスキップ
IRONBARCODEの使用

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

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

このため、.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

次に、メイン関数内に次のコードを書いて、画像からバーコードデータを読み取ります。

// Read the barcode from an image file
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");

// Print the barcode data to the console
Console.WriteLine(myBarcode);
// Read the barcode from an image file
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");

// Print the barcode data to the console
Console.WriteLine(myBarcode);
' Read the barcode from an image file
Dim myBarcode = BarcodeReader.Read("D:\Barcode Images\mybarcode.jpeg")

' Print the barcode data to the console
Console.WriteLine(myBarcode)
$vbLabelText   $csharpLabel

The BarcodeReader class provides a Read function that takes a file path as an argument. この関数は画像を読み取ってバーコードデータを返します。 このメソッドは、グラニュラー設定を使用して、BMP、PNG、GIF、TIFF、またはJPGからバーコードを読み取り、ユーザーの使用例に適したパフォーマンスと精度のバランスをとります。

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

バーコード画像

C#バーコードスキャナーのステップバイステップチュートリアル、図3:このコンソールアプリケーションで使用されるバーコード画像 このコンソールアプリケーションで使用されるバーコード画像

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

出力

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

プログラムが正確な出力を生成したことが確認できます。

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

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

PDFドキュメント

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

PDF文書からのバーコードスキャンを示す次のコードスニペットを考えてみてください。

// Read barcodes from a PDF file
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");

// Iterate through each barcode found and print its value
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
// Read barcodes from a PDF file
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");

// Iterate through each barcode found and print its value
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
' Read barcodes from a PDF file
Dim myBarcode = BarcodeReader.ReadPdf("D:\Barcode Images\invoice.pdf")

' Iterate through each barcode found and print its value
For Each barcodeData In myBarcode
	Console.WriteLine(barcodeData.Value)
Next barcodeData
$vbLabelText   $csharpLabel

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

foreachループが使用され、バーコードのデータがコンソールに印刷されます。

出力

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

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

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

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

バーコード画像

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

次に示すコードスニペットを考えてください。これらは複数のバーコードを読み取り、マルチスレッドを使用してその結果をスキャンします。

// Create a list of file paths containing barcode images
List<string> barcodeList = new List<string>
{
    @"D:\Barcode Images\barcode1.jpg",
    @"D:\Barcode Images\barcode2.jpg",
    @"D:\Barcode Images\barcode3.jpg"
};

// Read barcodes asynchronously from multiple files
var batchResults = BarcodeReader.ReadAsync(barcodeList);

// Work with the results
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
    Console.WriteLine(barcodeValue);
}
// Create a list of file paths containing barcode images
List<string> barcodeList = new List<string>
{
    @"D:\Barcode Images\barcode1.jpg",
    @"D:\Barcode Images\barcode2.jpg",
    @"D:\Barcode Images\barcode3.jpg"
};

// Read barcodes asynchronously from multiple files
var batchResults = BarcodeReader.ReadAsync(barcodeList);

// Work with the results
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
    Console.WriteLine(barcodeValue);
}
' Create a list of file paths containing barcode images
Dim barcodeList As New List(Of String) From {"D:\Barcode Images\barcode1.jpg", "D:\Barcode Images\barcode2.jpg", "D:\Barcode Images\barcode3.jpg"}

' Read barcodes asynchronously from multiple files
Dim batchResults = BarcodeReader.ReadAsync(barcodeList)

' Work with the results
For Each result In batchResults
	Dim barcodeValue As String = result.Text
	Console.WriteLine(barcodeValue)
Next result
$vbLabelText   $csharpLabel

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

QRコードのスキャン

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

QRコード

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

次のコードサンプルを考えてください。

// Read the QR code from an image file
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");

// Iterate through each result and print its text
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
// Read the QR code from an image file
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");

// Iterate through each result and print its text
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
' Read the QR code from an image file
Dim qrCodeResult = BarcodeReader.Read("D:\Barcode Images\QRcode.jpeg")

' Iterate through each result and print its text
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など、他の非常に便利なライブラリを含んでいます。 2つの個別ライブラリの価格でIron Suite全体を購入できます。

よくある質問

C#でバーコードスキャナーを作成するにはどうすればいいですか?

C#でバーコードスキャナーを作成するには、IronBarcodeを使用できます。Visual Studioプロジェクトをセットアップし、IronBarcodeのNuGetパッケージをインストールし、BarcodeReaderクラスを使用して画像またはPDFファイルからバーコードを読み取ります。

どのバーコードタイプが.NETバーコードライブラリで読み取れますか?

IronBarcodeは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コードなど、幅広いバーコードタイプを読み取ることができます。

C#でPDFファイルからバーコードを読み取ることはできますか?

はい、IronBarcodeはReadPdfメソッドを使用してPDFファイルからバーコードを読み取ることができます。このメソッドはPDFドキュメント全体をスキャンし、バーコード画像を探してそのデータを返します。

C#で異なる画像ファイルから複数のバーコードをスキャンすることは可能ですか?

はい、IronBarcodeのReadAsync関数を使用して、非同期処理を活用しながら異なる画像ファイルから同時に複数のバーコードをスキャンできます。

.NETライブラリをバーコード機能のためにインストールする方法は?

IronBarcodeをインストールするには、Visual Studioのパッケージマネージャーコンソールを使用し、コマンドInstall-Package Barcodeを使用してNuGetパッケージソースからライブラリを追加します。

QRコードはバーコードと同じ方法でスキャンできますか?

はい、IronBarcodeの同じRead関数を使用してQRコードをスキャンできます。これにより、さまざまな画像ソースにわたってバーコードとQRコードの一貫した処理が可能になります。

IronBarcodeを使用してバーコードをスキャンする利点は何ですか?

IronBarcodeは使いやすく、効率的で適応性があります。さまざまなバーコードタイプをサポートし、バーコードやQRコードを読み書きするためのシンプルなAPIを提供し、.NETアプリケーションに最適です。

Iron Software Suiteに含まれるライブラリにはどのようなものがありますか?

Iron Software Suiteには、PDF操作のためのIronPDF、Excelファイル処理のためのIronXL、光学式文字認識のためのIronOCR、ウェブデータ抽出のためのIronWebScraperなどのライブラリが含まれています。

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