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

Hairil related to Cómo leer varios códigos de barras a la vez
Hairil Hasyimi Bin Omar
25 de julio, 2023
Actualizado 8 de enero, 2025
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

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 las clases BarcodeReaderOptions como en PdfBarcodeReaderOptions, lo que permite a los usuarios utilizarla para leer códigos de barras en imágenes y 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
$vbLabelText   $csharpLabel

Al establecer ExpectMultipleBarcodes en verdadero en el fragmento de código, IronBarcode escanea 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 falso. 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
$vbLabelText   $csharpLabel

En el fragmento de código anterior, utilizamos la misma imagen con múltiples códigos de barras como antes, pero esta vez establecimos 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

Configurar ExpectMultipleBarcodes en falso puede mejorar enormemente la eficiencia de la lectura de códigos de barras individuales en la imagen.

Usando el fragmento de código proporcionado, aquí hay una estimación aproximada de la diferencia de rendimiento entre configurar ExpectMultipleBarcode a verdadero y falso en la misma máquina:

ExpectMultipleBarcodes = true ExpectMultipleBarcodes = false
00.91 second 00.10 second
Hairil related to Comparación de resultados
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.