如何一次读取多个条形码

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

下载 DLL

下载DLL

手动安装到你的项目中

适用于的C# NuGet库

安装使用 NuGet

Install-Package BarCode
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

开始在您的项目中使用IronPDF,并立即获取免费试用。

第一步:
green arrow pointer

查看 IronBarcodeNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变。

适用于的C# NuGet库 nuget.org/packages/BarCode/
Install-Package BarCode

考虑安装 IronBarcode DLL 直接。下载并手动安装到您的项目或GAC表单中: IronBarCode.zip

手动安装到你的项目中

下载DLL

读取多个条形码示例

默认情况下,IronBarcode 会连续扫描文档以读取多个条码。然而,在某些情况下,即使图像中存在多个条形码,也只会返回一个条形码值。为了解决这个问题,用户可以自定义设置,以启用读取多个条形码,如以下代码片段所示。请注意,ExpectMultipleBarcode属性同时存在于BarcodeReaderOptionsPdfBarcodeReaderOptions类中,允许用户将其用于读取图像和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 中的单个或多个条码。默认情况下,即使只有一个条形码,引擎也会扫描整个文档。但是,为了提高读取单个条形码时的性能,您可以将 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 之间的性能差异:

ExpectMultipleBarcodes = trueExpectMultipleBarcodes = false
00.91 秒00.10 秒钟

海瑞尔 哈西米 本 奥马尔

软件工程师

像所有优秀的工程师一样,Hairil 是一个热衷学习的人。他正在精进自己的 C#、Python 和 Java 知识,并利用这些知识为 Iron Software 团队成员增添价值。Hairil 毕业于马来西亚的马来西亚工艺大学(Universiti Teknologi MARA),获得了化学与工艺工程学士学位,然后加入了 Iron Software 团队。