USO DE IRONQR

C# QR Code Reader (Tutorial Paso a Paso)

Jordi Bardia
Jordi Bardia
23 de febrero, 2022
Compartir:

La generación bajo demanda de nuevos y variados códigos de barras es un aspecto crucial de muchas aplicaciones comerciales .NET. La librería IronBarcode hace que esto sea muy rápido, cómodo y fácil en comparación con otras opciones de terceros. Este tutorial pretende ilustrar cómo es esto.

1. Creación de un nuevo proyecto

Abra Visual Studio y vaya al menú Archivo. Seleccione Nuevo Proyecto, y luego seleccione Aplicación de Consola/Windows Forms/Aplicación WPF. Los códigos de barras también pueden utilizarse en todo tipo de aplicaciones. Además, puede utilizarlos con aplicaciones como Webform/MVC/MVC Core.

Lector de Códigos QR en C# (Tutorial Paso a Paso), Figura 1: Configure su nuevo proyecto

Configura tu nuevo proyecto

Introduzca el nombre del proyecto y seleccione la ruta del archivo en el cuadro de texto correspondiente de Visual Studio. A continuación, haga clic en el botón Create y también seleccione el .NET Framework necesario. El proyecto generará ahora la estructura para la aplicación seleccionada. Si has seleccionado la Aplicación de Consola, ahora se abrirá el archivo program.cs donde puedes ingresar el código y construir/ejecutar la aplicación.

2. Instale el paquete NuGet IronBarcode

Ahora ve al Explorador de Soluciones en Visual Studio y haz clic izquierdo en el proyecto. En el menú emergente, seleccione NuGet Package Manager del menú y busque "Barcode" como palabra clave. Seleccione el primer resultado en el cuadro de diálogo NuGet Package y haga clic en la opción de instalación.

Lector de Código QR en C# (Tutorial Paso a Paso), Figura 2: Instalar la biblioteca IronBarcode desde el Gestor de Paquetes NuGet

Instalar la biblioteca IronBarcode desde el Administrador de paquetes NuGet

Alternativamente, en Visual Studio, siga estas instrucciones: Vaya a Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes

Abre la pestaña Package Manager Console. Escribe la línea de abajo:

Install-Package IronQR

Lector de códigos QR en C# (tutorial paso a paso), Figura 3: Consola del Administrador de paquetes NuGet

Consola de NuGet Package Manager

Vaya al siguiente enlace para obtener más información sobre la última versión del SDK del lector de códigos de barras.

https://www.nuget.org/packages/barcode

A continuación, el paquete descargará todos los archivos DLL y también añadirá la referencia del archivo DLL en el proyecto actual como referencia del proyecto .NET.

El proyecto de Visual Studio ya está listo para su uso en el código.

3. Añadir referencia

Agregue la referencia IronBarCode al código como se muestra a continuación, permitiendo el uso de funciones disponibles en la biblioteca de IronBarcode en .NET Core. Para obtener más información sobre el control del lector de códigos de barras, la lectura de códigos QR, los componentes, el soporte para tipos de códigos QR y la compatibilidad del SDK del lector de códigos de barras, consulte este enlace: https://ironsoftware.com/csharp/barcode/

using IronBarCode;

4. Creación de una instancia de código de barras

BarcodeReader es la clase estática que se utiliza para leer/crear códigos QR. Se puede utilizar sin crear ninguna instancia de objeto para la clase estática BarcodeReader. El control del lector de códigos de barras ofrece la capacidad de escanear 15 tipos de códigos de barras utilizando una única función Read o ReadAsync. La biblioteca IronBarcode permite la lectura de códigos QR/códigos de barras de diversas fuentes:

  • Cadena
  • Corriente
  • Imagen
  • Mapa de bits

5. Leer el código de barras usando String

Los códigos QR y las imágenes de códigos de barras pueden leerse fácilmente utilizando la biblioteca de lectores de códigos de barras .NET. El método Read es una función estática que escaneará imágenes de códigos QR y decodificará códigos QR y códigos de barras en texto. Acepta varios tipos de archivos de imagen, como mapas de bits, archivos PNG, JPEG, TIFF, etc.

Esta función Read extrae datos de códigos QR/códigos de barras de la imagen y obtiene el resultado como el objeto BarcodeResult. Si el archivo de imagen no es reconocido por el código, devolverá null.

El BarcodeResult tiene los siguientes valores:

  • Tipo de código de barras
  • Valor
  • Texto
  • Valor binario

    BarcodeType es un tipo de dato enumerado y devuelve el tipo de código de barras de la imagen de entrada dada. IronBarcode admite veintidós tipos de códigos de barras. Devolverá el tipo de código de barras, que se aplica a la imagen de entrada dada.

    El valor y el texto también son los valores de tipo de objeto disponibles en el BarcodeResult. Tanto el valor como el texto son tipos de datos de cadena. Esto devuelve el valor de cadena del código de barras. El método Read leerá códigos QR y códigos de barras y obtendrá el valor de cadena de la imagen de código de barras dada en valor/texto. El valor binario es el tipo de datos byte y devuelve el byte de la imagen dada. A continuación se muestra el código de respuesta rápida que se puede copiar en cualquier aplicación .NET Windows Forms o .NET Standard.

BarcodeResult result = BarcodeReader.Read("test.bmp");
// Assert that IronBarCode Works :-)
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Assert that IronBarCode Works :-)
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
Dim result As BarcodeResult = BarcodeReader.Read("test.bmp")
' Assert that IronBarCode Works :-)
If result IsNot Nothing AndAlso result.Text = "https://ironsoftware.com/csharp/barcode" Then
	System.Console.WriteLine("Success")
End If
$vbLabelText   $csharpLabel

El código anterior demuestra cómo leer códigos QR y códigos de barras utilizando la biblioteca de lectores de códigos de barras .NET. El código es sencillo de utilizar, ya que asigna un archivo del sistema a un objeto Bitmap. También descodifica el código QR/código de barras de la imagen y muestra el resultado en el objeto. A continuación se indican los códigos QR/códigos de barras incluidos en el código para escanear los datos codificados.

Lector de códigos QR en C# (Tutorial paso a paso), Figura 4: La entrada del código de barras

La entrada del código de barras

6. Leer varios códigos de barras de una imagen TIFF

El control lector de códigos de barras .NET permite la lectura de múltiples códigos QR/códigos de barras desde un archivo de imagen utilizando el mismo método Read, que es muy fácil de usar.

A continuación se muestra el código de ejemplo para la lectura de múltiples códigos QR de la imagen:

// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

BarcodeResult [] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
// Configure options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

BarcodeResult [] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
' Configure options
Dim options As New BarcodeReaderOptions() With {
	.ExpectBarcodeTypes = BarcodeEncoding.Code128,
	.ExpectMultipleBarcodes = True
}

Dim multiFrameResults() As BarcodeResult = BarcodeReader.Read("Multiframe.tiff", options)
$vbLabelText   $csharpLabel

En el código anterior, los códigos QR se extraen de imágenes de códigos QR TIFF. El lector de códigos de barras .NET escanea los códigos QR de la imagen del sistema y devuelve el resultado como una matriz. En el código anterior, el código de barras para Code128 es el único tipo escaneado. Si hay otros códigos de barras presentes en la imagen, se ignorarán.

7. Lectura de códigos QR y códigos de barras desde PDF

Esta sección muestra cómo leer el código QR de los documentos PDF. La biblioteca de códigos QR escaneará todas las páginas y archivos disponibles para todos los códigos QR disponibles, o se centrará en un tipo específico de código de barras. Cuando se utiliza IronBarcode, la biblioteca proporciona todas las DLL relevantes necesarias para un lector de códigos de barras estándar, por lo que no es necesario incluir ninguna otra DLL como referencia del proyecto .NET.

A continuación se muestra el código de copia de ejemplo que se puede utilizar para leer códigos QR / códigos de barras de PDF.

PagedBarcodeResult [] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (PagedBarcodeResult pageRes in pagedResults)
{
    int pageNumber = pageRes.PageNumber;
    string value = pageRes.Value;
    Bitmap img = pageRes.BarcodeImage;
    BarcodeEncoding barcodeType = pageRes.BarcodeType;
    byte [] binary = pageRes.BinaryValue;
    Console.WriteLine(pageRes.Value);
}
PagedBarcodeResult [] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results
foreach (PagedBarcodeResult pageRes in pagedResults)
{
    int pageNumber = pageRes.PageNumber;
    string value = pageRes.Value;
    Bitmap img = pageRes.BarcodeImage;
    BarcodeEncoding barcodeType = pageRes.BarcodeType;
    byte [] binary = pageRes.BinaryValue;
    Console.WriteLine(pageRes.Value);
}
Dim pagedResults() As PagedBarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")
' Work with the results
For Each pageRes As PagedBarcodeResult In pagedResults
	Dim pageNumber As Integer = pageRes.PageNumber
	Dim value As String = pageRes.Value
	Dim img As Bitmap = pageRes.BarcodeImage
	Dim barcodeType As BarcodeEncoding = pageRes.BarcodeType
	Dim binary() As Byte = pageRes.BinaryValue
	Console.WriteLine(pageRes.Value)
Next pageRes
$vbLabelText   $csharpLabel

El anterior es el código de ejemplo para leer códigos QR/códigos de barras de un archivo PDF desde un método simple ReadPdf. También puede proporcionar resultados detallados para cada código de barras y su tipo.

Conclusión

Los lectores de códigos de barras .NET proporcionan una forma sencilla y fácil de leer códigos QR o decodificar/crear códigos QR y códigos de barras con sencillos pasos. La DLL de IronBarcode se puede utilizar en varios entornos, como aplicaciones de Windows Forms de .NET, aplicaciones móviles, aplicaciones web, MAUI y Blazor utilizando .NET Framework o .NET Standard. Además, IronBarcode ofrece una amplia gama de opciones de personalización para mejorar la velocidad de lectura de códigos de barras, como regiones de recorte o multihilo, y la precisión del modelo de ML. IronBarcode ofrece una clave de prueba gratuita, o bien puede adquirir actualmente cinco productos de Iron Software por el precio de sólo dos.

Visite la página de licencias para más información.

También puedes descargar un proyecto en archivo zip.

Jordi Bardia
Ingeniero de software
Jordi es más competente en Python, C# y C++, cuando no está aprovechando sus habilidades en Iron Software; está programando juegos. Compartiendo responsabilidades en las pruebas de productos, el desarrollo de productos y la investigación, Jordi añade un inmenso valor a la mejora continua de los productos. La variada experiencia le mantiene desafiado y comprometido, y dice que es uno de sus aspectos favoritos de trabajar con Iron Software. Jordi creció en Miami, Florida, y estudió Informática y Estadística en la Universidad de Florida.
< ANTERIOR
Cómo crear un código QR en VB .NET