Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Los códigos de barras ofrecen una forma clara y legible por máquina de presentar los datos. Al principio, los códigos de barras consistían en líneas paralelas de anchura y espaciado variables que servían para representar datos. Estos sistemas tradicionales lineales o unidimensionales(1D) Los códigos de barras podían escanearse mediante dispositivos ópticos especializados denominados lectores de códigos de barras. Sin embargo, la evolución de los códigos de barras condujo a la invención de los códigos bidimensionales.(2D) códigos de barras, también conocidos como códigos matriciales. A diferencia de los códigos de barras tradicionales, los códigos de barras 2D utilizan patrones como rectángulos, puntos y hexágonos en lugar de barras. Para leer estos códigos de barras 2D, existen escáneres ópticos específicos o métodos alternativos que utilizan una cámara digital conectada a un ordenador con un programa informático de descodificación. Además, dispositivos móviles como los smartphones pueden aprovechar sus cámaras integradas y aplicaciones específicas para funcionar como escáner de códigos de barras 2D.
Zebra Crossing, a menudo conocido como ZXing, es un kit de herramientas de procesamiento de imágenes de códigos de barras 1D/2D multiformato de código abierto desarrollado en Java y con puertos para otros lenguajes. La biblioteca central de descodificación de imágenes, el código cliente específico de Java y el cliente de Android Barcode Scanner son sólo algunos de los módulos que componen ZXing. Numerosos proyectos independientes de código abierto se basan en él.
Abra Visual Studio, seleccione "nuevo proyecto" en el menú archivo y, a continuación, "aplicación de consola". En este artículo, vamos a elegir la aplicación de consola C#.
Introduzca el nombre del proyecto y la ruta del archivo en el cuadro de texto correspondiente. A continuación, haga clic en el botón Crear para elegir el .NET Framework necesario.
Si ha seleccionado una aplicación de consola, el proyecto creará ahora su estructura y abrirá el archivo program.cs, permitiéndole introducir el código del programa y compilarlo o ejecutarlo.
Introduzca el siguiente comando en la consola de NuGet Package Manager.
Install-Package ZXing.Net.Bindings.Windows.Compatibility
Alternativamente, podemos obtener el elemento utilizando la herramienta de gestión de paquetes NuGet. Como la siguiente ilustración. Intente instalar el primer resultado que elija.
Podemos crear un código de barras utilizando el siguiente código de ejemplo. ZXing nos permite crear más de 10 tipos de formato de código de barras.
using ZXing.Windows.Compatibility;
var options = new QrCodeEncodingOptions
{
Width = 250,
Height = 250,
};
var writer = new BarcodeWriter();
writer.Format= BarcodeFormat.QR_CODE;
writer.Options = options;
System.Drawing.Bitmap _bitmap=writer.Write("Hello world");
_bitmap.Save("Demo1.png");
using ZXing.Windows.Compatibility;
var options = new QrCodeEncodingOptions
{
Width = 250,
Height = 250,
};
var writer = new BarcodeWriter();
writer.Format= BarcodeFormat.QR_CODE;
writer.Options = options;
System.Drawing.Bitmap _bitmap=writer.Write("Hello world");
_bitmap.Save("Demo1.png");
Imports ZXing.Windows.Compatibility
Private options = New QrCodeEncodingOptions With {
.Width = 250,
.Height = 250
}
Private writer = New BarcodeWriter()
writer.Format= BarcodeFormat.QR_CODE
writer.Options = options
Dim _bitmap As System.Drawing.Bitmap=writer.Write("Hello world")
_bitmap.Save("Demo1.png")
Arriba, estamos estableciendo la altura y la anchura para el QrCodeEncodingOptions
. A continuación creamos un objeto para BarcodeWriter
. Para el BarcodeWriter
, estamos estableciendo el formato de código de barras como QR_Code. Luego asignamos la opción qrcode
que creamos anteriormente. La función de escritura en el BarcodeWriter
codifica la cadena dada en un código de barras y devuelve el código de barras como una imagen de mapa de bits. A continuación, con la ayuda de la función guardar en el mapa de bits, podemos guardar la imagen. A continuación se muestra el resultado del código.
using ZXing.Windows.Compatibility;
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
var reader = new BarcodeReader();
var result = reader.Decode(barcodeBitmap);
if (result != null)
{
Console.WriteLine(result.Text);
Console.ReadKey();
}
using ZXing.Windows.Compatibility;
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
var reader = new BarcodeReader();
var result = reader.Decode(barcodeBitmap);
if (result != null)
{
Console.WriteLine(result.Text);
Console.ReadKey();
}
Imports ZXing.Windows.Compatibility
Private barcodeBitmap = CType(System.Drawing.Bitmap.FromFile("demo.png"), System.Drawing.Bitmap)
Private reader = New BarcodeReader()
Private result = reader.Decode(barcodeBitmap)
If result IsNot Nothing Then
Console.WriteLine(result.Text)
Console.ReadKey()
End If
En el código anterior, primero cargamos la imagen en un mapa de bits. A continuación, creamos un objeto BarcodeReader
. La función Decode
nos permite pasar bitmap como parámetro, pudiendo devolver el resultado en múltiples tipos. A continuación, utilizamos la propiedad Text
para obtener el texto codificado en el código de barras.
Con la ayuda de esta biblioteca de códigos de barras, leer y crear códigos de barras es muy sencillo. Un código de barras dinámico es fácil de hacer con la librería de IronBarcode. Con sólo unas pocas líneas de código, esta sencilla biblioteca puede generar un código de barras, que nos ayuda a codificar imágenes de código de barras. IronBarcode nos permite generar códigos de barras en lenguajes como C# y VB.NET.
Para utilizar la biblioteca IronBarcode en la solución, debe descargar el paquete necesario. Para ello, utilice el código del gestor de paquetes que se describe a continuación:
:PackageInstall
Como alternativa, puede utilizar el gestor de paquetes NuGet, que mostrará todos los resultados de la búsqueda, para buscar y descargar el paquete "Barcode". A continuación, puede seleccionar el paquete esencial para descargar en el programa de ellos.
Con unas pocas líneas de código, podemos crear rápidamente imágenes de códigos de barras utilizando la biblioteca IronBarcode. Además, nos permite guardar el código de barras creado como un archivo de imagen independiente. A continuación se muestra un ejemplo de código Visual Basic para crear una etiqueta de código de barras con un programa de Consola.
using IronBarCode;
QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("demo.png");
using IronBarCode;
QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("demo.png");
Imports IronBarCode
QRCodeWriter.CreateQrCode(textBox1.Text, 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("demo.png")
Se produce un gráfico de 500 por 500 píxeles utilizando un nivel medio de corrección de errores, y luego se guarda en una ubicación de archivo utilizando el método SaveAsPng
.
El siguiente ejemplo de código lee el texto codificado en el código QR que hemos creado en el ejemplo anterior.
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
var reader=IronBarCode.BarcodeReader.Read(barcodeBitmap);
Console.WriteLine(reader.Values()[0]);
Console.ReadKey();
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");
var reader=IronBarCode.BarcodeReader.Read(barcodeBitmap);
Console.WriteLine(reader.Values()[0]);
Console.ReadKey();
Dim barcodeBitmap = CType(System.Drawing.Bitmap.FromFile("demo.png"), System.Drawing.Bitmap)
Dim reader=IronBarCode.BarcodeReader.Read(barcodeBitmap)
Console.WriteLine(reader.Values()(0))
Console.ReadKey()
Primero cargamos la imagen en un mapa de bits y luego la leemos utilizando el método Read
de la clase BarcodeReader
. Utilizamos la propiedad Values
del objeto BarcodeResults
devuelto por el método Read
para obtener el contenido que se ha leído del código QR.
Para saber más sobre ZXing y cómo se compara con IronBarcode, lea estosiguiente entrada del blog.
NuestraLectura de códigos de barras también proporciona más información sobre cómo utilizar IronBarcode para leer códigos de barras y códigos QR. Para más tutoriales de código en IronBarcode.
El escáner de códigos de barras ZXing puede crear códigos de barras de alta calidad, pero está anticuado y admite pocos formatos de códigos de barras. Además, la documentación y el soporte del producto son limitados.
Por otro lado, IronBarcode es muy eficiente y flexible, y es capaz de funcionar en muchos sistemas operativos. IronBarcode puede cambiar el color, el tamaño, el espaciado y las letras utilizadas en los códigos de barras. También es compatible con Crystal Reports.
Los desarrolladores puedenutilizar IronBarcode gratis. Los usuarios pueden adquirir unlicencia para acceder a funciones adicionales y recibir un año completo de asistencia y actualizaciones del producto.
9 productos API .NET para sus documentos de oficina