Cómo leer varios códigos de barras a la vez

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

por Hairil Hasyimi Bin Omar

La lectura simultánea de varios códigos de barras es crucial para diversos sectores, como la logística, el comercio minorista, la sanidad y la gestión de inventarios, ya que permite un procesamiento eficaz de los datos. Con IronBarcode, puede conseguir fácilmente esta capacidad, lo que la convierte en una potente herramienta para agilizar las operaciones y mejorar la productividad.

Empezar a utilizar IronBarcode

Comience a usar IronBarcode en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer



Ejemplo de lectura de varios códigos de barras

Por defecto, IronBarcode escanea continuamente un documento para leer múltiples códigos de barras. Sin embargo, ha habido casos en los que sólo se devuelve un valor de código de barras, incluso cuando hay varios códigos de barras presentes en la imagen. Para solucionar este problema, los usuarios pueden personalizar la configuración para permitir la lectura de múltiples códigos de barras, como se muestra en el siguiente fragmento de código. Tenga en cuenta que la propiedad ExpectMultipleBarcode existe tanto en la clase BarcodeReaderOptions como en PdfBarcodeReaderOptions, lo que permite a los usuarios utilizarla para leer códigos de barras tanto en imágenes como en documentos PDF.

Imagen de muestra

Imagen a leer
: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#

Al establecer ExpectMultipleBarcodes en true en el fragmento de código, IronBarcode analiza todo el documento en busca de múltiples códigos de barras y los almacena en la variable BarcodeResults. Utilizando un bucle foreach, los usuarios pueden acceder fácilmente a todos los valores del código de barras e imprimirlos en la consola.

Ejemplo de lectura de un código de barras

IronBarcode puede leer códigos de barras simples y múltiples en una imagen o PDF. Por defecto, el motor escanea todo el documento aunque sólo haya un código de barras. Sin embargo, para aumentar el rendimiento al leer un solo código de barras, puede establecer ExpectMultipleBarcodes en false. De este modo, el motor deja de escanear todo el documento tras detectar el primer código de barras, lo que agiliza la recuperación de códigos de barras. El siguiente fragmento de código muestra cómo hacerlo.

Imagen de muestra

Imagen a leer
: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#

En el fragmento de código anterior, hemos utilizado la misma imagen con múltiples códigos de barras que antes, pero esta vez, hemos establecido ExpectMultipleBarcodes en false. Como resultado, sólo se devuelve el valor del primer código de barras, y el proceso de escaneado se detiene una vez recuperado el primer código de barras.

Comparación de resultados

Establecer ExpectMultipleBarcodes en false puede mejorar en gran medida la eficacia de la lectura de códigos de barras individuales en la imagen.

Utilizando el fragmento de código proporcionado, he aquí una estimación aproximada de la diferencia de rendimiento entre establecer ExpectMultipleBarcode en true y false en la misma máquina:

ExpectMultipleBarcodes = trueExpectMultipleBarcodes = false
0,91 segundos0.10 segundo
Hairil related to Comparación de resultados

Hairil Hasyimi Bin Omar

Ingeniero de software

Como todos los grandes ingenieros, Hairil es un ávido aprendiz. Está perfeccionando sus conocimientos de C#, Python y Java, y los utiliza para añadir valor a los miembros del equipo de Iron Software. Hairil se unió al equipo de Iron Software desde la Universiti Teknologi MARA de Malasia, donde se licenció en Ingeniería Química y de Procesos.