COMPARACIóN CON OTROS COMPONENTES

Comparación entre ZXing Decoder e IronBarcode

Actualizado 17 de marzo, 2023
Compartir:

Los códigos de barras están por todas partes. Los autores utilizan implementaciones de escaneado de códigos de barras para firmar sus productos, y la mayoría de las firmas de libros funcionan con implementaciones de escaneado de códigos de barras. Sin embargo, para nuestras aplicaciones, un escáner de códigos de barras no siempre es adecuado. Puede que tenga imágenes digitales y vídeos de códigos de barras y quiera saber qué significan en texto inglés. Además, sólo los códigos de barras 1-D, que sólo se pueden utilizar en la biblioteca de clases de Windows RT y tienen una cantidad limitada de datos, pueden ser leídos por un escáner de códigos de barras. Los códigos de barras bidimensionales, también denominados códigos QR, se utilizan mucho hoy en día y pueden almacenar muchos más datos en su matriz de datos.

ZXing (Paso de cebra) es una biblioteca de procesamiento de imágenes de códigos de barras 1D/2D multiformato de código abierto implementada en Java, con puertos a otros lenguajes. Puede leer y escribir datos en muchos formatos diferentes de códigos de barras, incluidos los códigos QR y UPC de los ordenadores.

IronBarcode es una biblioteca de software C# .NET que permite a los desarrolladores leer y escribir imágenes de códigos de barras utilizando la biblioteca ZXing para probar aplicaciones web. Está diseñado para ser fácil de usar e integrar en cualquier aplicación .NET, y puede utilizarse con los marcos Windows Forms, WPF y ASP.NET.

La biblioteca de IronBarcode proporciona una API sencilla para leer y escribir imágenes de códigos de barras, lo que facilita a los desarrolladores la incorporación de funciones de lectura y generación de códigos de barras a su software. IronBarcode admite la lectura y escritura de muchos formatos de códigos de barras diferentes, como códigos QR, UPC, UPC-A, EAN, RSS expandido, etc., que se utilizan para firmar productos.

A Comparison Between IronBarcode and ZXing .NET, Figure 1: Formatos de códigos de barras compatibles

Formatos de códigos de barras compatibles

La biblioteca cuenta con documentación bien escrita y código de ejemplo que muestra cómo empezar a utilizar IronBarcode, cómo escanear y descodificar códigos de barras, cómo generar y codificar códigos de barras y cómo personalizar el proceso de lectura y escritura.

Una de las características más importantes de IronBarcode es su compatibilidad con el reconocimiento de códigos de barras y códigos QR a partir de documentos PDF o archivos de imagen, con la posibilidad de leer códigos de barras a partir de una ruta de archivo o un objeto de mapa de bits.

IronBarcode es fácil de usar, potente y rápido. Es una gran herramienta para cualquiera que necesite añadir funcionalidad de escaneo o generación de códigos de barras a su software. Y puesto que está construido sobre la popular y fiable biblioteca ZXing, puede estar seguro de que se trata de una solución fiable y de alta calidad.

Comparación entre IronBarcode y ZXing .NET, Figura 2: Formatos de códigos de barras compatibles

Librería IronBarcode C# y sus características

Cómo se creó IronBarcode a partir de ZXing Decoder

IronBarcode es una biblioteca .NET comercial de terceros para descodificar códigos de barras en C# y VB.NET, que utiliza la biblioteca de código abierto ZXing como motor subyacente. La biblioteca proporciona una API simplificada y fácil de usar para trabajar con códigos de barras, así como funciones adicionales como la capacidad de leer códigos de barras de imágenes y PDF, y la posibilidad de crear códigos de barras en diversos formatos.

IronBarcode fue creada por un equipo de desarrolladores que querían crear una biblioteca de descodificación de códigos de barras más fácil de usar y con más funciones para el ecosistema .NET. Como base de su biblioteca, utilizaron la biblioteca ZXing, que es una biblioteca madura de código abierto con una amplia gama de formatos de códigos de barras compatibles. A continuación, crearon su propia envoltura personalizada en torno al código base de ZXing, proporcionando una API más sencilla y coherente para uso de los desarrolladores, así como funciones adicionales como la compatibilidad con la lectura de códigos de barras de imágenes y PDF.

Comparación entre IronBarcode y ZXing Decoder

Tanto IronBarcode como ZXing son librerías para decodificar imágenes de códigos de barras, pero tienen algunas diferencias importantes que hacen de IronBarcode una opción más avanzada y versátil.

IronBarcode ofrece una gama más amplia de formatos de códigos de barras Web compatibles que ZXing. IronBarcode puede descodificar formatos compatibles como códigos QR, Código 39, Código 128, EAN -8, EAN -13, UPC-A, UPC-E, Codabar, ITF, Data Matrix, PDF-417, RSS expandido y muchos más. Los usuarios de Android no están excluidos; IronBarcode puede integrarse fácilmente en aplicaciones móviles para facilitar el escaneado de códigos de barras a los usuarios de Android. ZXing admite muchos de los mismos formatos, pero no es totalmente compatible con determinados formatos, como ITF y Codabar, y no ofrece compatibilidad con determinados formatos de códigos de barras 2D, como PDF-417.

//  Generar una imagen de código de barras simple y guardarla como PDF
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("MyQR.png");
//  Generar una imagen de código de barras simple y guardarla como PDF
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("MyQR.png");
'  Generar una imagen de código de barras simple y guardarla como PDF
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("MyQR.png")
VB   C#
Comparación entre IronBarcode y ZXing .NET, Figura 3: Generación de códigos de barras

Generación de una imagen de código QR sencilla con IronBarcode

Otra ventaja de IronBarcode es su API web más fácil de usar. La biblioteca está diseñada para ser fácil de usar e integrar en proyectos existentes, con una API web de alto nivel que abstrae muchos de los complejos detalles de la descodificación de códigos de barras.

IronBarcode también tiene mejor rendimiento que ZXing. La biblioteca se ha desarrollado en C# y es capaz de utilizar el procesamiento paralelo para descodificar los códigos de barras más rápidamente que la biblioteca ZXing. Además, IronBarcode puede leer códigos de barras de tipos de archivos de imagen no compatibles con ZXing, como GIF, TIFF y JPEG-XR.

Comparación entre IronBarcode y ZXing .NET, Figura 4: Generación de códigos de barras

Generación de una imagen de código QR sencilla con IronBarcode

En resumen, IronBarcode es una biblioteca de descodificación de códigos de barras más avanzada y versátil que ZXing. Ofrece una gama más amplia de formatos de código de barras compatibles, una API más fácil de usar y un mejor rendimiento, lo que la convierte en una buena opción para los desarrolladores que trabajan con el marco .NET.

Cómo utilizar ZXing Decoder y IronBarcode en C#

ZXing .NET es una adaptación de la biblioteca ZXing, una biblioteca de código abierto para el procesamiento de códigos de barras 1D/2D en múltiples formatos, implementada originalmente en Java. Se ha portado a C# y está disponible a través del gestor de paquetes NuGet. IronBarcode es una librería C# .NET que puede leer y escribir códigos de barras. Es una envoltura alrededor de la biblioteca ZXing y también está disponible a través de NuGet.

En este tutorial, utilizaremos tanto ZXing decoder online como IronBarcode para decodificar códigos de barras en una aplicación Web C# .NET para decodificar códigos de barras. Utilizaremos Visual Studio para este tutorial, pero los conceptos deberían aplicarse a cualquier entorno de desarrollo de C#.

Paso 1: Crear un nuevo proyecto C# .NET en Visual Studio

Cree un nuevo proyecto C# en Visual Studio accediendo a Archivo > Nuevo > Proyecto. Seleccione "Windows Forms App" y asigne un nombre a su proyecto.

Paso 2: Instalar los paquetes NuGet de ZXing .NET e IronBarcode

En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione "Administrar paquetes NuGet". Busque ZXing.NET e "IronBarcode" e instálelos en el proyecto.

Paso 3: Añadir un PictureBox y un Botón al Formulario

En la vista Diseño del formulario, añada un PictureBox y un Button al formulario. El PictureBox se utilizará para mostrar la imagen que vamos a decodificar, y el Button se utilizará para iniciar el proceso de decodificación.

Paso 4: Añade las siguientes sentencias using al principio del código del formulario:

using IronBarCode;
using ZXing;
using IronBarCode;
using ZXing;
Imports IronBarCode
Imports ZXing
VB   C#

Paso 5: Manejar el evento click del Botón

Haga doble clic en el botón en la vista Diseño para crear un controlador de eventos de clic. En el handler, añade el siguiente código para abrir un OpenFileDialog y dejar que el usuario seleccione una imagen para decodificar:

private void button1_Click(object sender, EventArgs e) {
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Filter = "Images (*.BMP;*.JPG;*.GIF;*.PNG)
*.BMP;*.JPG;*.GIF;*.PNG
All files (*.*)
*.*";
    ofd.FilterIndex = 1;
    if (ofd.ShowDialog() == DialogResult.OK) {
        pictureBox1.Image = Image.FromFile(ofd.FileName);
        //  Descodifique aquí el código de barras de la imagen
    }
}
private void button1_Click(object sender, EventArgs e) {
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Filter = "Images (*.BMP;*.JPG;*.GIF;*.PNG)
*.BMP;*.JPG;*.GIF;*.PNG
All files (*.*)
*.*";
    ofd.FilterIndex = 1;
    if (ofd.ShowDialog() == DialogResult.OK) {
        pictureBox1.Image = Image.FromFile(ofd.FileName);
        //  Descodifique aquí el código de barras de la imagen
    }
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
	Dim ofd As New OpenFileDialog()
	ofd.Filter = "Images (*.BMP;*.JPG;*.GIF;*.PNG) *.BMP;*.JPG;*.GIF;*.PNG All files (*.*) *.*"
	ofd.FilterIndex = 1
	If ofd.ShowDialog() = DialogResult.OK Then
		pictureBox1.Image = Image.FromFile(ofd.FileName)
		'  Descodifique aquí el código de barras de la imagen
	End If
End Sub
VB   C#

Paso 6: Decodificar el código de barras a partir de la imagen

Después de la línea siguiente:

pictureBox1.Image = Image.FromFile(ofd.FileName); 
pictureBox1.Image = Image.FromFile(ofd.FileName); 
pictureBox1.Image = Image.FromFile(ofd.FileName)
VB   C#

Añada el siguiente bloque de código para decodificar el código de barras de la imagen en el manejador de eventos de clic del botón.

var BarcodeReader = new BarcodeReader();
var Result = BarcodeReader.Decode((Bitmap)pictureBox1.Image);
if (Result != null) {
    MessageBox.Show(Result.Text);
} else {
    MessageBox.Show("No barcode found.");
}
var BarcodeReader = new BarcodeReader();
var Result = BarcodeReader.Decode((Bitmap)pictureBox1.Image);
if (Result != null) {
    MessageBox.Show(Result.Text);
} else {
    MessageBox.Show("No barcode found.");
}
Dim BarcodeReader As New BarcodeReader()
Dim Result = BarcodeReader.Decode(CType(pictureBox1.Image, Bitmap))
If Result IsNot Nothing Then
	MessageBox.Show(Result.Text)
Else
	MessageBox.Show("No barcode found.")
End If
VB   C#

Este código crea una nueva instancia de la clase BarcodeReader de ZXing.NET y luego utiliza el método Decode para decodificar el código de barras de la imagen. El método Decode devuelve un objeto Result, que contiene información sobre el código de barras descodificado.

A Comparison Between IronBarcode and ZXing .NET, Figure 5: Crear código QR con imagen de logotipo

Crear código QR con imagen de logotipo

Ventajas de IronBarcode frente a ZXIng Decoder Online

IronBarcode y ZXing son librerías de lectura de códigos de barras y códigos QR para el lenguaje de programación C#. Ambas bibliotecas tienen sus propias ventajas e inconvenientes, y la elección entre ellas dependerá de los requisitos específicos de su proyecto.

Una de las principales ventajas de IronBarcode frente a ZXing es su facilidad de uso. IronBarcode cuenta con una API sencilla e intuitiva que facilita a los desarrolladores empezar a trabajar rápidamente con códigos de barras y códigos QR. Con unas pocas líneas de código, puede leer y escribir códigos de barras y códigos QR con el mínimo esfuerzo. Por el contrario, ZXing tiene una API más compleja que puede suponer un reto para los desarrolladores, especialmente si son nuevos en la lectura de códigos de barras y códigos QR.

Otra ventaja de IronBarcode es su alto rendimiento. IronBarcode utiliza algoritmos avanzados para leer y descodificar rápidamente códigos de barras y códigos QR, por lo que es más rápido que otras bibliotecas como ZXing. Esto la convierte en una buena opción para proyectos que requieren un escaneado y descodificación rápidos de códigos de barras y códigos QR.

IronBarcode también ofrece una mejor compatibilidad con la lectura y escritura de códigos de barras a partir de diversos formatos de imagen, como JPEG, PNG, GIF, BMP y TIFF. En cambio, la compatibilidad de ZXing con los formatos de imagen es más limitada, y es posible que no pueda leer o escribir códigos de barras a partir de determinados tipos de imágenes.

using IronBarCode;
using System;
using System.Drawing;
//  Todos los métodos BarcodeResult.Read proporcionan al desarrollador el control para corregir la imagen y la fotografía y enderezar la rotación y la perspectiva de las imágenes sesgadas
//  * RotationCorrection e.g BarcodeReader.BarcodeRotationCorrection.Extreme des-rota y elimina la perspectiva de las imágenes de código de barras.
//  * BarcodeReader.BarcodeImageCorrection.DeepCleanPixels separa los códigos de barras de las imágenes de fondo y del ruido digital.
//  * BarcodeEncoding e.g. BarcodeEncoding.Code128 Establecer un formato específico de código de barras mejora la velocidad y reduce el riesgo de falsos positivos.
//  Ejemplo con una imagen fotográfica
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
System.Drawing.Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte [] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);  
using IronBarCode;
using System;
using System.Drawing;
//  Todos los métodos BarcodeResult.Read proporcionan al desarrollador el control para corregir la imagen y la fotografía y enderezar la rotación y la perspectiva de las imágenes sesgadas
//  * RotationCorrection e.g BarcodeReader.BarcodeRotationCorrection.Extreme des-rota y elimina la perspectiva de las imágenes de código de barras.
//  * BarcodeReader.BarcodeImageCorrection.DeepCleanPixels separa los códigos de barras de las imágenes de fondo y del ruido digital.
//  * BarcodeEncoding e.g. BarcodeEncoding.Code128 Establecer un formato específico de código de barras mejora la velocidad y reduce el riesgo de falsos positivos.
//  Ejemplo con una imagen fotográfica
var PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels);
string Value = PhotoResult.Value;
System.Drawing.Bitmap Img = PhotoResult.BarcodeImage;
BarcodeEncoding BarcodeType = PhotoResult.BarcodeType;
byte [] Binary = PhotoResult.BinaryValue;
Console.WriteLine(PhotoResult.Value);  
Imports IronBarCode
Imports System
Imports System.Drawing
'  Todos los métodos BarcodeResult.Read proporcionan al desarrollador el control para corregir la imagen y la fotografía y enderezar la rotación y la perspectiva de las imágenes sesgadas
'  * RotationCorrection e.g BarcodeReader.BarcodeRotationCorrection.Extreme des-rota y elimina la perspectiva de las imágenes de código de barras.
'  * BarcodeReader.BarcodeImageCorrection.DeepCleanPixels separa los códigos de barras de las imágenes de fondo y del ruido digital.
'  * BarcodeEncoding e.g. BarcodeEncoding.Code128 Establecer un formato específico de código de barras mejora la velocidad y reduce el riesgo de falsos positivos.
'  Ejemplo con una imagen fotográfica
Private PhotoResult = BarcodeReader.ReadASingleBarcode("Photo.png", BarcodeEncoding.Code128, BarcodeReader.BarcodeRotationCorrection.Medium, BarcodeReader.BarcodeImageCorrection.DeepCleanPixels)
Private Value As String = PhotoResult.Value
Private Img As System.Drawing.Bitmap = PhotoResult.BarcodeImage
Private BarcodeType As BarcodeEncoding = PhotoResult.BarcodeType
Private Binary() As Byte = PhotoResult.BinaryValue
Console.WriteLine(PhotoResult.Value)
VB   C#
Comparación entre IronBarcode y ZXing .NET, Figura 6: Lectura de un código de barras desde la cámara de un teléfono en C#.

Lectura de un código de barras desde la imagen de la cámara de un teléfono en C#

IronBarcode ofrece más opciones de personalización, como el ajuste de la lectura de códigos de barras, la compatibilidad con documentos de varias páginas y varios formatos de códigos de barras, como DataMatrix, Aztec y PDF-417. Esto puede ser útil si necesita trabajar con diferentes tipos de códigos de barras o tiene requisitos específicos.

Por otro lado, ZXing es una biblioteca de código abierto de uso gratuito. Esto puede ser una ventaja significativa para proyectos con limitaciones presupuestarias.

En conclusión, tanto IronBarcode como ZXing son potentes librerías para trabajar con códigos de barras y códigos QR en C#, pero IronBarcode ofrece varias ventajas sobre ZXing, como facilidad de uso, alto rendimiento, mejor soporte de formatos de imagen y más opciones de personalización. Lo mejor es evaluar ambas bibliotecas y elegir la que mejor se adapte a las necesidades de su proyecto.

IronBarcode y ZXing son librerías populares para trabajar con códigos de barras y códigos QR en C#. Ambas bibliotecas tienen sus propias ventajas e inconvenientes, y la elección entre ellas dependerá de los requisitos específicos de su proyecto. En este artículo, examinaremos en detalle las ventajas de utilizar IronBarcode en lugar de ZXing, con ejemplos que ayudarán a ilustrar las principales diferencias.

Una de las principales ventajas de IronBarcode es su facilidad de uso. IronBarcode cuenta con una API sencilla e intuitiva que facilita a los desarrolladores empezar a trabajar rápidamente con códigos de barras y códigos QR. Con sólo unas pocas líneas de código, puede leer y escribir códigos de barras y códigos QR con el mínimo esfuerzo. Por ejemplo, para leer un código de barras de un archivo de imagen utilizando IronBarcode, puede utilizar el siguiente código:

var reader = new BarcodeReader();
var result = reader.Read("image.jpg");
Console.WriteLine(result.Text);
var reader = new BarcodeReader();
var result = reader.Read("image.jpg");
Console.WriteLine(result.Text);
Dim reader = New BarcodeReader()
Dim result = reader.Read("image.jpg")
Console.WriteLine(result.Text)
VB   C#

Por el contrario, ZXing tiene una API más compleja que puede resultar difícil de manejar para los desarrolladores, sobre todo si no están familiarizados con la lectura de códigos de barras y códigos QR. El ejemplo anterior habría requerido más líneas de código para lograr el mismo resultado utilizando ZXing.

Otra ventaja de IronBarcode es su alto rendimiento. IronBarcode utiliza algoritmos avanzados para leer y descodificar rápidamente códigos de barras y códigos QR, por lo que es más rápido que otras bibliotecas como ZXing. Esto la convierte en una buena opción para proyectos que requieren escanear y descodificar códigos de barras y códigos QR a alta velocidad. Por ejemplo, IronBarcode puede leer y descodificar un código de barras a partir de una imagen en menos de un segundo, lo que lo convierte en la opción ideal para operaciones de escaneado y descodificación a gran escala.

IronBarcode también ofrece una mejor compatibilidad con la lectura y escritura de códigos de barras desde varios formatos de imagen, incluidos JPEG, PNG, GIF, BMP y TIFF. Esto permite a los desarrolladores trabajar fácilmente con códigos de barras en distintos formatos de imagen sin tener que preocuparse por problemas de compatibilidad. En cambio, la compatibilidad de ZXing con los formatos de imagen es más limitada y es posible que no pueda leer o escribir códigos de barras a partir de determinados tipos de imágenes.

using IronBarCode;
using System;
using System.Drawing;
//  Se pueden escanear varios códigos de barras a partir de un único documento o imagen.  También puede utilizarse un documento PDF como imagen de entrada.
PagedBarcodeResult [] PDFResults = BarcodeReader.ReadBarcodesFromPdf("MultipleBarcodes.pdf");
//  Trabajar con los resultados
foreach (var PageResult in PDFResults)
{
    string Value = PageResult.Value;
    int PageNum = PageResult.PageNumber;
    System.Drawing.Bitmap Img = PageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = PageResult.BarcodeType;
    byte [] Binary = PageResult.BinaryValue;
    Console.WriteLine(PageResult.Value + " on page " + PageNum);
}     
using IronBarCode;
using System;
using System.Drawing;
//  Se pueden escanear varios códigos de barras a partir de un único documento o imagen.  También puede utilizarse un documento PDF como imagen de entrada.
PagedBarcodeResult [] PDFResults = BarcodeReader.ReadBarcodesFromPdf("MultipleBarcodes.pdf");
//  Trabajar con los resultados
foreach (var PageResult in PDFResults)
{
    string Value = PageResult.Value;
    int PageNum = PageResult.PageNumber;
    System.Drawing.Bitmap Img = PageResult.BarcodeImage;
    BarcodeEncoding BarcodeType = PageResult.BarcodeType;
    byte [] Binary = PageResult.BinaryValue;
    Console.WriteLine(PageResult.Value + " on page " + PageNum);
}     
Imports IronBarCode
Imports System
Imports System.Drawing
'  Se pueden escanear varios códigos de barras a partir de un único documento o imagen.  También puede utilizarse un documento PDF como imagen de entrada.
Private PDFResults() As PagedBarcodeResult = BarcodeReader.ReadBarcodesFromPdf("MultipleBarcodes.pdf")
'  Trabajar con los resultados
For Each PageResult In PDFResults
	Dim Value As String = PageResult.Value
	Dim PageNum As Integer = PageResult.PageNumber
	Dim Img As System.Drawing.Bitmap = PageResult.BarcodeImage
	Dim BarcodeType As BarcodeEncoding = PageResult.BarcodeType
	Dim Binary() As Byte = PageResult.BinaryValue
	Console.WriteLine(PageResult.Value & " on page " & PageNum)
Next PageResult
VB   C#
A Comparison Between IronBarcode and ZXing .NET, Figure 7: Lectura de códigos de barras de una imagen TIFF de varios fotogramas

Lectura de códigos de barras de una imagen TIFF de varios fotogramas

IronBarcode también ofrece más opciones de personalización, lo que permite a los desarrolladores ajustar el proceso de lectura de códigos de barras a sus necesidades específicas. Por ejemplo, puede utilizar IronBarcode para especificar distintos formatos de códigos de barras, como DataMatrix, Aztec y PDF-417. Esto puede ser útil si necesita trabajar con códigos de barras en diferentes formatos o con requisitos específicos. Además, IronBarcode ofrece compatibilidad con documentos multipágina, lo que permite a los desarrolladores leer y extraer información de códigos de barras de varias páginas de un documento.

Una cosa más, IronBarcode tiene un mejor manejo de errores y es más adecuado para aplicaciones de nivel empresarial.

A continuación se muestra un ejemplo de cómo descodificar varios códigos de barras a partir de un archivo de imagen:

var barcodeResults = IronBarCode.BarcodeReader.ReadMultiple("multibarcode.png");
foreach (var result in barcodeResults)
{
    Console.WriteLine(result.Text);
}
var barcodeResults = IronBarCode.BarcodeReader.ReadMultiple("multibarcode.png");
foreach (var result in barcodeResults)
{
    Console.WriteLine(result.Text);
}
Dim barcodeResults = IronBarCode.BarcodeReader.ReadMultiple("multibarcode.png")
For Each result In barcodeResults
	Console.WriteLine(result.Text)
Next result
VB   C#

Por otro lado, ZXing es una biblioteca de código abierto y puede utilizarse gratuitamente. Esto puede ser una ventaja significativa para proyectos con presupuestos limitados. Sin embargo, hay que tener en cuenta que el coste de utilizar IronBarcode puede verse compensado por el tiempo y el esfuerzo que se ahorran al utilizar una biblioteca más potente y fácil de usar.

Comparación entre IronBarcode y ZXing .NET, Figura 8: Lectura de códigos de barras a partir de una imagen TIFF de varios fotogramas

Utilice C# para crear una imagen de código de barras con anotaciones y estilo

En conclusión, tanto IronBarcode como ZXing son potentes librerías para trabajar con códigos de barras y códigos QR en C#. Sin embargo, IronBarcode ofrece una serie de ventajas sobre ZXing, como facilidad de uso, alto rendimiento, mejor compatibilidad con formatos de imagen y más opciones de personalización. Si su proyecto requiere una lectura y descodificación de códigos de barras rápida y eficaz, o si necesita un mayor control sobre el proceso de lectura de códigos de barras, IronBarcode es una excelente elección.

Precios y licencias

ZXing se publica bajo la licencia Apache 2.0 de código abierto, lo que significa que puede utilizarse, distribuirse y modificarse libremente. El uso de la biblioteca en sus proyectos de software es gratuito. Sin embargo, si utiliza la biblioteca en un producto comercial, debe cumplir los términos de la licencia Apache 2.0, que incluye mostrar de forma destacada el aviso de licencia y la cláusula de exención de responsabilidad.

IronBarcode es un software que ofrece una licencia gratuita para desarrolladores. El precio del paquete Lite comienza en $599 e incluye una licencia perpetua, la posibilidad de utilizar el software en entornos de desarrollo, ensayo y producción, una garantía de devolución del dinero de 30 días y un año de soporte y actualizaciones del software. Para más información sobre precios y licencias de IronBarcode, visite el sitio web de la empresa.

Comparación entre IronBarcode y ZXing .NET, Figura 9: Lectura de códigos de barras a partir de una imagen TIFF de varios fotogramas

Precios de las licencias IronBarcode

Por qué elegir IronBarcode

IronBarcode ha sido desarrollado específicamente para aplicaciones .NET y está basado en la librería ZXing. IronBarcode también está escrito íntegramente en C#, lo que puede ser una ventaja si su aplicación también está escrita en C# y desea utilizarla en su ecosistema .NET.

IronBarcode pretende ofrecer una interfaz más fácil de usar para descodificar y codificar códigos de barras, mientras que ZXing se centra principalmente en proporcionar los algoritmos y bibliotecas subyacentes.

IronBarcode proporciona varias funciones adicionales además de la biblioteca ZXing, como la posibilidad de corregir automáticamente errores comunes de escaneado, la compatibilidad con distintos tipos de lectura y escaneado de códigos de barras y la posibilidad de leer el contenido de los códigos de barras directamente desde archivos de imagen o mapas de bits.

En resumen, IronBarcode puede ser una buena elección si su aplicación está escrita en C# y está buscando una librería potente y fácil de usar que pueda leer y escribir una gran variedad de formatos de códigos de barras. Sin embargo, si lo que buscas es una biblioteca más universal, de bajo nivel, que pueda utilizarse en varios idiomas, ZXing puede ser una mejor opción.

Conclusión

En resumen, IronBarcode es una biblioteca de software flexible y eficaz que admite una amplia gama de formatos, símbolos y caracteres de códigos de barras. Es compatible con varios sistemas operativos y ofrece licencias y asistencia fiables.

IronBarcode y ZXing son bibliotecas para leer y escribir códigos de barras en .NET Framework. IronBarcode utiliza la biblioteca ZXing como dependencia para realizar operaciones de lectura y escritura de códigos de barras. IronBarcode proporciona una API sencilla y fácil de usar para leer y escribir códigos de barras en C# y VB.NET, mientras que ZXing es una biblioteca de bajo nivel que ofrece mucha flexibilidad y personalización. IronBarcode utiliza ZXing para realizar el procesamiento y descodificación de códigos de barras subyacentes, pero ofrece una interfaz más sencilla y cómoda para los desarrolladores.

IronBarcode es una envoltura C# / VB.NET alrededor de la biblioteca ZXing, lo que significa que proporciona una interfaz C# / VB.NET a las funciones proporcionadas por ZXing. IronBarcode facilita el uso de ZXing proporcionando una API más cómoda y sencilla para leer y escribir códigos de barras.

En comparación con ZXing.NET, IronBarcode ofrece más funciones y tiempos de procesamiento más rápidos para el reconocimiento y la generación de códigos de barras, y tiene la capacidad añadida de leer códigos de barras de varios formatos de imagen y documentos PDF.

Comparación entre IronBarcode y ZXing .NET, Figura 10: Precios de Iron Suite

Precios de las licencias Iron Suite

Además, IronBarcode está disponible de forma gratuita para las primeras fases de desarrollo y ofrece una prueba gratuita para uso comercial. Con sus diferentes niveles de precios, los desarrolladores pueden elegir la solución que mejor se adapte a sus necesidades y presupuesto. También hay una oferta para adquirir una suite de 5 productos de software Iron por el precio de 2. En general, IronBarcode tiene una clara ventaja sobre ZXing.NET

< ANTERIOR
Comparación entre IronBarcode y QrCoder C#
SIGUIENTE >
Comparación entre IronBarcode y ZXing.NET

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

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