USO DE IRONBARCODE

Tutorial paso a paso del escáner de código de barras C#

Actualizado 20 de octubre, 2022
Compartir:

Este tutorial mostrará cómo crear un escáner de código de barras con la ayuda de una biblioteca de terceros. Existen múltiples bibliotecas para este fin, pero algunas son de pago, otras ofrecen menos funcionalidades y otras son difíciles de implementar. Es todo un reto encontrar una biblioteca muy completa y útil que sea gratuita, eficiente y fácil de implementar.

Por esta razón, utilizaremos IronBarcode ya que es el más adecuado para desarrollar un escáner de códigos de barras .NET. Además, tiene la ventaja añadida de ser libre para el desarrollo, muy eficaz y fácil de aplicar. IronBarcode permite a los desarrolladores leer y escribir códigos de barras y códigos QR en aplicaciones y sitios web .NET. Leer o escribir códigos de barras sólo requiere una línea de código con esta biblioteca.

La biblioteca de códigos de barras .NET lee y escribe la mayoría de los códigos de barras y códigos QR estándar. Los tipos de códigos de barras compatibles son: código 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14 / Expandido, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS y QR. Los datos resultantes del código de barras incluyen archivos de tipo, texto, datos binarios, página e imagen.

La API de escritura de códigos de barras comprueba y verifica el formato, la longitud, el número y la suma de comprobación para evitar automáticamente errores de codificación. En el escritor de códigos de barras permite estilizar El programa permite cambiar el tamaño, los márgenes, los bordes, cambiar el color y añadir anotaciones de texto. La grabadora de códigos de barras puede escribir en archivos de imagen como BMP, PNG, GIF, TIFF y JPG. También puede escribir en PDF o Archivos HTML.

Vamos a crear nuestro escáner de código de barras para entenderlo mejor.

Crear un proyecto de Visual Studio

En primer lugar, cree un proyecto de Visual Studio para desarrollar una aplicación de demostración. También puedes abrir uno ya existente.

Siga los pasos que se indican a continuación para crear un nuevo proyecto de aplicación de consola que se centre en las funcionalidades básicas. El mismo código puede implementarse en aplicaciones web API, MVC, Web Forms o Windows Forms.

  1. Abrir Visual Studio
  2. Haga clic en Crear nuevo proyecto
  3. Seleccione Plantilla, haga clic en el botón Siguiente.
  4. Asigne un nombre al proyecto y haga clic en el botón Siguiente.
  5. Seleccione Target Framework, haga clic en el botón Next.
  6. Pulse el botón Crear, pulse el botón Siguiente.

    Se creará un nuevo Proyecto como se muestra a continuación:

    C# Barcode Scanner Tutorial Paso a Paso, Figura 1: Aplicación de Consola

    Aplicación de consola

    El siguiente paso es instalar el Paquete NuGet IronBarcode para utilizar sus funcionalidades.

Instalar paquete NuGet de IronBarcode

Puede instalar la biblioteca utilizando la consola del gestor de paquetes, las soluciones del gestor de paquetes NuGet o instalarla directamente desde el archivo Página del paquete NuGet BarCode.

Siga los pasos que se indican a continuación:

  1. Haga clic en Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes.

    C# Barcode Scanner Step-by-Step Tutorial, Figura 2: Package Manager Console UI

    **Interfaz de la Consola del Administrador de Paquetes.

  2. Escriba el siguiente comando
Install-Package BarCode

Se instalará el paquete.

Ahora vamos a escribir un código para escanear una imagen de código de barras.

Escanear un código de barras desde un archivo de imagen

Añada el siguiente espacio de nombres

using IronBarCode;
using IronBarCode;
Imports IronBarCode
VB   C#

A continuación, escriba el siguiente código dentro de la función principal para leer los datos del código de barras de una imagen.

var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");
Console.WriteLine(myBarcode);
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");
Console.WriteLine(myBarcode);
Dim myBarcode = BarcodeReader.Read("D:\Barcode Images\mybarcode.jpeg")
Console.WriteLine(myBarcode)
VB   C#

En Lector de códigos de barras proporciona una clase Leer que toma una ruta de archivo como argumento. Esta función lee la imagen y devuelve los datos del código de barras. Este método lee códigos de barras de un BMP, PNG, GIF, TIFF o JPG con ajustes granulares para que el desarrollador pueda equilibrar el rendimiento con la precisión para su caso de uso concreto.

La ruta contiene la siguiente imagen de código de barras que la aplicación escaneará.

Imagen de código de barras

C# Barcode Scanner Step-by-Step Tutorial, Figura 3: La imagen de código de barras utilizada en esta Aplicación de Consola

La imagen del código de barras utilizada en esta aplicación de consola

Leamos esta imagen de código de barras para ver si este programa produce el resultado correcto.

Salida

C# Barcode Scanner Step-by-Step Tutorial, Figura 4: La salida de la consola en la aplicación en ejecución

La salida de la consola al ejecutar la aplicación

Se puede observar que el programa ha generado un resultado preciso.

Escanear un código de barras desde un PDF

Hay muchas circunstancias en las que es necesario escanear un código de barras de una factura PDF. En este ejemplo, escanearemos el código de barras de la siguiente factura.

Documento PDF

C# Barcode Scanner Step-by-Step Tutorial, Figura 5: Una factura en formato PDF

**Una factura en formato PDF

Considere el siguiente fragmento de código para escanear el código de barras de un documento PDF:

var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
Dim myBarcode = BarcodeReader.ReadPdf("D:\Barcode Images\invoice.pdf")
For Each barcodeData In myBarcode
	Console.WriteLine(barcodeData.Value)
Next barcodeData
VB   C#

La clase BarcodeReader proporciona la función LeerPdf que toma una ruta de archivo como argumento. Esta función busca una imagen de código de barras en un archivo PDF, escanea todo el código de barras y devuelve sus datos en forma de matriz. Esta función lee los códigos de barras de cada imagen incrustada en el documento.

un bucle foreach utilizado para imprimir los datos del código de barras en la consola.

Salida

El número de factura se imprime en la consola.

C# Barcode Scanner Step-by-Step Tutorial, Figura 6: La salida de la consola muestra el número de factura

**La salida de la consola muestra el número de factura.

Escanear códigos de barras de varios archivos

Este ejemplo demostrará cómo escanear varios códigos de barras de archivos de imagen simultáneamente.

Imágenes de códigos de barras

C# Barcode Scanner Step-by-Step Tutorial, Figura 7: Imágenes de código de barras utilizadas en el ejemplo siguiente

Imágenes de códigos de barras utilizadas en la muestra que figura a continuación

Considere los siguientes fragmentos de código que leen múltiples códigos de barras y escanean su resultado utilizando multithreading.

List<string> barcodeList = new List<string>();
barcodeList.Add(@"D:\Barcode Images\barcode1.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode2.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode3.jpg");
var batchResults =  BarcodeReader.ReadAsync(barcodeList);
//  Trabajar con los resultados
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
}
List<string> barcodeList = new List<string>();
barcodeList.Add(@"D:\Barcode Images\barcode1.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode2.jpg");
barcodeList.Add(@"D:\Barcode Images\barcode3.jpg");
var batchResults =  BarcodeReader.ReadAsync(barcodeList);
//  Trabajar con los resultados
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
}
Dim barcodeList As New List(Of String)()
barcodeList.Add("D:\Barcode Images\barcode1.jpg")
barcodeList.Add("D:\Barcode Images\barcode2.jpg")
barcodeList.Add("D:\Barcode Images\barcode3.jpg")
Dim batchResults = BarcodeReader.ReadAsync(barcodeList)
'  Trabajar con los resultados
For Each result In batchResults
	Dim barcodeValue As String = result.Text
Next result
VB   C#

En primer lugar, se crea una lista con la ruta de todos los códigos de barras. A continuación, el ReadAsync que toma una Lista<string> como argumento y devuelve los datos. Este método lee códigos de barras de varias imágenes en paralelo. Se iniciarán varios subprocesos y se gestionarán automáticamente para mejorar el rendimiento de las tareas de lectura de códigos de barras por lotes.

Escanear código QR

El uso de códigos QR está aumentando rápidamente. Por lo tanto, esta sección mostrará cómo escanear códigos QR usando C#.

Código QR

C# Barcode Scanner Step-by-Step Tutorial, Figura 8: El código QR utilizado en esta demostración

El código QR utilizado en esta demostración

Considere el siguiente ejemplo de código:

var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
Dim qrCodeResult = BarcodeReader.Read("D:\Barcode Images\QRcode.jpeg")
For Each result In qrCodeResult
	Console.WriteLine(result.Text)
Next result
VB   C#

Para leer el código QR se utiliza la misma función Read comentada anteriormente. Esta es la simplicidad que proporciona la biblioteca IronBarcode. De modo que la misma función y el mismo código pueden utilizarse para distintas fuentes de imágenes.

Salida

C# Barcode Scanner Step-by-Step Tutorial, Figura 9: La consola de salida del lector de código QR

La consola del lector de códigos QR

Resumen

Este tutorial muestra una forma muy sencilla de escanear códigos de barras desde una sola imagen, escanear códigos de barras desde un documento PDF y escanear códigos de barras desde varias imágenes y varios documentos en paralelo. Hemos utilizado la misma función para diferentes funcionalidades. Proporciona rendimiento y facilidad de uso al mismo tiempo. IronBarcode proporciona la funcionalidad de generar códigos de barras y códigos QR con diferentes configuraciones. Hay tantas características que no se pueden discutir en el mismo artículo. Haga clic en el botón página de documentación para seguir explorando IronBarcode.

IronBarcode forma parte de la suite de software Iron. Esta suite contiene otras bibliotecas muy útiles, como IronPDF para leer y escribir archivos PDF, IronXL para manipular archivos Excel, IronOCR para leer texto de imágenes e IronWebScraper para extraer datos de diferentes sitios web. Puede adquirir el Iron Suite por el precio de dos bibliotecas individuales.

< ANTERIOR
Cómo crear un código QR para un enlace (tutorial de C#)
SIGUIENTE >
Generador de códigos QR .NET (Tutorial de ejemplo de código)

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 1,069,531 Ver licencias >
123