如何一次读取多个条形码

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

海瑞尔 哈西米 本 奥马尔

同时读取多个条形码对于包括物流、零售、医疗保健和库存管理在内的各个行业至关重要,因为它能实现高效的数据处理。 使用IronBarcode,您可以轻松实现这一功能,使其成为简化操作和提高生产效率的强大工具。

开始使用 IronBarcode

立即在您的项目中开始使用IronBarcode,并享受免费试用。

第一步:
green arrow pointer



读取多个条形码示例

默认情况下,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设置为真和假的性能差异的粗略估计:

ExpectMultipleBarcodes = trueExpectMultipleBarcodes = false
0.91 秒0.10 秒钟
Hairil related to 性能比较

海瑞尔 哈西米 本 奥马尔

软件工程师

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