Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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, utilizaremosIronBarcodeya 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. Enel escritor de códigos de barras permite estilizarEl 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 oArchivos HTML.
Vamos a crear nuestro escáner de código de barras para entenderlo mejor.
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.
Abrir Visual Studio
Haga clic en Crear nuevo proyecto
Seleccione Plantilla, haga clic en el botón Siguiente.
Asigne un nombre al proyecto y haga clic en el botón Siguiente.
Seleccione Target Framework, haga clic en el botón Next.
Pulse el botón Crear, pulse el botón Siguiente.
Se creará un nuevo Proyecto como se muestra a continuación:
Aplicación de consola
El siguiente paso es instalar elPaquete NuGet IronBarcode para utilizar sus funcionalidades.
Puede instalar la biblioteca utilizando la consola del gestor de paquetes, las soluciones del gestor de paquetes NuGet o instalarla directamente desde el archivoPágina del paquete NuGet BarCode.
Siga los pasos que se indican a continuación:
Haga clic en Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes.
**Interfaz de la Consola del Administrador de Paquetes.
Install-Package BarCode
Se instalará el paquete.
Ahora vamos a escribir un código para escanear una imagen de código de barras.
Añada el siguiente espacio de nombres
using IronBarCode;
using IronBarCode;
Imports IronBarCode
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)
EnLector de códigos de barras proporciona una claseLeer
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, TIFFo 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á.
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.
La salida de la consola al ejecutar la aplicación
Se puede observar que el programa ha generado un resultado preciso.
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.
**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
La clase BarcodeReader
proporciona la funciónLeerPdf 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.
El número de factura se imprime en la consola.
**La salida de la consola muestra el número de factura.
Este ejemplo demostrará cómo escanear varios códigos de barras de archivos de imagen simultáneamente.
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);
// Work with the results
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);
// Work with the results
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)
' Work with the results
For Each result In batchResults
Dim barcodeValue As String = result.Text
Next result
En primer lugar, se crea una lista con la ruta de todos los códigos de barras. A continuación, elReadAsync
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.
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#.
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
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.
La consola del lector de códigos QR
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 condiferentes configuraciones. Hay tantas características que no se pueden discutir en el mismo artículo. Haga clic en el botónpá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 elIron Suite por el precio de dos bibliotecas individuales.
9 productos API .NET para sus documentos de oficina