複数のバーコードを一度に読み取る方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

によって ハイリル ハシミ ビン オマル

複数のバーコードを同時に読み取ることは、効率的なデータ処理を可能にするため、物流、小売、医療、在庫管理などのさまざまな業界にとって重要です。 IronBarcodeを使用すると、この機能を簡単に実現でき、運用の合理化と生産性の向上に強力なツールとなります。


 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package BarCode
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package BarCode
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

今日からプロジェクトでIronPDFを使い始めましょう。無料のトライアルをお試しください。

最初のステップ:
green arrow pointer

チェックアウト IronBarcode オン Nuget 迅速なインストールと展開のために。8百万以上のダウンロード数により、をC#で変革しています。

 用 C# NuGet ライブラリ nuget.org/packages/BarCode/
Install-Package BarCode

インストールを検討してください IronBarcode DLL 直接。ダウンロードして、プロジェクトまたはGACの形式で手動でインストールしてください。 IronBarCode.zip

プロジェクトに手動でインストールする

DLLをダウンロード

複数のバーコードを読み取る例

デフォルトでは、IronBarcodeは複数のバーコードを読み取るために文書を継続的にスキャンします。 しかし、画像内に複数のバーコードが存在する場合でも、1つのバーコード値しか返されないことがあります。 この問題に対処するために、ユーザーは以下のコードスニペットのように、複数のバーコードの読み取りを有効にするよう設定をカスタマイズできます。 次の点にご注意ください。ExpectMultipleBarcodeプロパティは、BarcodeReaderOptionsクラスとPdfBarcodeReaderOptionsクラスの両方に存在し、ユーザーが画像とPDFドキュメントの両方でバーコードを読み取るために使用できるようになっています。

サンプル画像

画像の読み取り
:path=/static-assets/barcode/content-code-examples/how-to/read-multiple-barcodes-read-multiple-barcodes.cs
using IronBarCode;
using System;

// Set the option to read multiple barcodes
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
};

// Read barcode
var results = BarcodeReader.Read("testbc1.png", options);

foreach (var result in results)
{
    Console.WriteLine(result.ToString());
}
Imports IronBarCode
Imports System

' Set the option to read multiple barcodes
Private options As New BarcodeReaderOptions() With {
	.ExpectMultipleBarcodes = True,
	.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
}

' Read barcode
Private results = BarcodeReader.Read("testbc1.png", options)

For Each result In results
	Console.WriteLine(result.ToString())
Next result
VB   C#

コードスニペットでExpectMultipleBarcodesをtrueに設定すると、IronBarcodeはドキュメント全体を複数のバーコードのためにスキャンし、それらをBarcodeResults変数に保存します。 foreachループを使用すると、ユーザーはすべてのバーコード値に簡単にアクセスしてコンソールに印刷できます。

単一のバーコードを読み取る例

IronBarcodeは、画像やPDF内の単一および複数のバーコードを読み取ることができます。 デフォルトでは、エンジンはバーコードが1つしかない場合でもドキュメント全体をスキャンします。 ただし、単一のバーコードを読み取る際にパフォーマンスを向上させるためには、ExpectMultipleBarcodesをfalseに設定することができます。 これは最初のバーコードが検出された後にエンジンがドキュメント全体をスキャンするのを停止させ、より速いバーコードの取得を実現します。 以下のコードスニペットはその方法を示しています。

サンプル画像

画像の読み取り
:path=/static-assets/barcode/content-code-examples/how-to/read-multiple-barcodes-read-single-barcode.cs
using IronBarCode;
using System;

// Set the option to read single barcode
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectMultipleBarcodes = false,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
};

// Read barcode
var results = BarcodeReader.Read("testbc1.png", options);

foreach (var result in results)
{
    Console.WriteLine(result.ToString());
}
Imports IronBarCode
Imports System

' Set the option to read single barcode
Private options As New BarcodeReaderOptions() With {
	.ExpectMultipleBarcodes = False,
	.ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
}

' Read barcode
Private results = BarcodeReader.Read("testbc1.png", options)

For Each result In results
	Console.WriteLine(result.ToString())
Next result
VB   C#

上記のコードスニペットでは、前回と同じ複数のバーコードが含まれた画像を使用しましたが、今回はExpectMultipleBarcodesをfalseに設定しました。 その結果、最初のバーコード値のみが返され、最初のバーコードが取得されるとスキャンプロセスは停止します。

パフォーマンス比較

ExpectMultipleBarcodesをfalseに設定することで、画像内の単一のバーコードを読み取る効率が大幅に向上する可能性があります。

提供されたコードスニペットを使用して、同じマシンでExpectMultipleBarcodeをtrueに設定する場合とfalseに設定する場合のパフォーマンスの違いのおおよその見積もりは次のとおりです:

複数のバーコードを期待する = true バーコードが複数あることを想定する = false
0.91秒 0.10秒

ハイリル ハシミ ビン オマル

ソフトウェアエンジニア

すべての優れたエンジニアと同じように、Hairilは熱心な学習者です。C#、Python、およびJavaの知識を洗練させ、その知識を活かしてIron Softwareのチームメンバーに価値を提供しています。Hairilはマレーシアのマラ工科大学(Universiti Teknologi MARA)で化学およびプロセス工学の学士号を取得し、Iron Softwareチームに加わりました。