COMPARACIóN CON OTROS COMPONENTES

Comparación entre IronBarcode y QrCoder C#

Actualizado 12 de marzo, 2023
Compartir:

En este tutorial, compararemos dos librerías C# ampliamente utilizadas - IronBarcode y QrCoder - para trabajar con códigos QR y códigos de barras.

Empecemos con una breve introducción a ambas bibliotecas:

IronBarcode

IronBarcode es una biblioteca creada y mantenida por Iron Software que permite a los ingenieros de software de C# leer y escribir códigos de barras y códigos QR en aplicaciones y sitios web .NET. Está disponible en NuGet para todos los marcos .NET y .NET Core. IronBarcode sólo requiere una línea de código para leer o escribir códigos de barras.

QrCoder

QRCoder es una sencilla librería en C# que permite crear códigos QR. No depende de otras bibliotecas y está disponible en NuGet en las versiones .NET Framework y .NET Core PCL.

Ambas bibliotecas deben tener las siguientes características principales:

  • Escanear código QR
  • Escanear código de barras
  • Generar código QR
  • Generar código de barras

    Implementaremos todas estas funciones de ambas bibliotecas y compararemos su rendimiento.

    En primer lugar, instalemos ambas bibliotecas en nuestro proyecto de Visual Studio. Dado que ambas bibliotecas tienen sus propios paquetes NuGet, las instalaremos a través de la consola del gestor de paquetes NuGet.

Instalar IronBarcode

Para instalar IronBarcode, escriba el siguiente comando en la consola del gestor de paquetes:

Install-Package BarCode

Esto instalará la librería IronBarcode en nuestro proyecto.

A Comparison Between IronBarcode and QrCoder C# - Figure 1: Instalación de IronBarcode

Instalación de IronBarcode

Instalar QrCoder

Escriba el siguiente comando en la consola del gestor de paquetes

Install-Package QRCoder

Esto instalará la librería QrCoder en nuestro proyecto.

Comparación entre IronBarcode y QrCoder C# - Figura 2: Instalación de IronBarcode

Instalación de QrCoder

Ahora, vamos a generar nuestro primer código QR utilizando ambas librerías.

Generar códigos QR con IronBarcode

El siguiente código generará un código QR.

Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");
qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeByIronBarcode");
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");
qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeByIronBarcode");
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
Dim stopwatch As New Stopwatch()
stopwatch.Start()
Dim qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder")
qrCode.SaveAsPng("D:\Barcode Images\QrCodeByIronBarcode")
stopwatch.Stop()
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms")
VB   C#

La instancia Stopwatch se crea para medir el tiempo de ejecución del programa y así analizar la eficiencia de la librería.

Comparación entre IronBarcode y QrCoder C# - Figura 3: Resultado de IronBarcode

Código de barras generado a partir de IronBarcode

Tiempo de ejecución de IronBarcode

IronBarcode tarda 3503 ms en generar y guardar un código QR.

Comparación entre IronBarcode y QrCoder C# - Figura 4: Tiempo de ejecución

Tiempo de ejecución de IronBarcode para generar nuevos códigos de barras

Crear un código QR con QRCoder

El siguiente código de ejemplo generará un código QR utilizando QrCoder.

QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20);
qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
QRCodeGenerator qrGenerator = new QRCodeGenerator();
QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);
QRCode qrCode = new QRCode(qrCodeData);
Bitmap qrCodeImage = qrCode.GetGraphic(20);
qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
Dim qrGenerator As New QRCodeGenerator()
Dim qrCodeData As QRCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q)
Dim qrCode As New QRCode(qrCodeData)
Dim qrCodeImage As Bitmap = qrCode.GetGraphic(20)
qrCodeImage.Save("D:\Barcode Images\QrCodeByQrCoder.png")
VB   C#

QrCoder no proporciona una función integrada para guardar el código QR como una imagen. Sin embargo, podemos guardarlo parseando el QrCoder en un objeto Bitmap. A continuación, podemos guardar el código QR utilizando la función de guardar proporcionada por Bitmap.

Comparación entre IronBarcode y QrCoder C# - Figura 5: Resultado de QR Coder

Código de barras generado por QrCoder

Tiempo de ejecución de Qrcoder

QrCoder tarda 592 ms en generar y guardar un código QR.

Comparación entre IronBarcode y QrCoder C# - Figura 6: QrCoder's Execution Time

El tiempo que tardó QrCoder en generar un nuevo código de barras

Análisis

El tiempo de ejecución de IronBarcode es de 3503 ms, mientras que QrCoder sólo tarda 592 ms. Esto hace que QrCoder sea mejor que IronBarcode en términos de rendimiento.

Generar códigos QR es mucho más sencillo en IronBarcode, ya que sólo necesitamos escribir dos líneas de código. Con la biblioteca QrCoder, se necesitan cinco líneas de código.

IronBarcode también proporciona una función integrada para guardar los códigos QR generados en un archivo, mientras que QrCoder no lo hace. Tenemos que crear un objeto bitmap para guardar el código QR en un archivo. Esto requiere que creemos cuatro objetos para generar códigos QR usando QrCoder. Sólo necesitamos crear un objeto en IronBarcode para hacer lo mismo.

A continuación, generaremos códigos de barras utilizando ambas bibliotecas.

Generar un código de barras con IronBarcode

El siguiente código generará un código de barras utilizando IronBarcode:

var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);
barcode.SaveAsPng(@"D:\Barcode Images\BarcodeByIronBarcode.png");
var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);
barcode.SaveAsPng(@"D:\Barcode Images\BarcodeByIronBarcode.png");
Dim barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128)
barcode.SaveAsPng("D:\Barcode Images\BarcodeByIronBarcode.png")
VB   C#
A Comparison Between IronBarcode and QrCoder C# - Figure 7: Código de barras generado con IronBarcode

Código de barras generado con IronBarcode

A continuación se muestra el tiempo de ejecución necesario para generar un código de barras con IronBarcode:

Comparación entre IronBarcode y QrCoder C# - Figura 8: Tiempo de ejecución de IronBarcode para generar un nuevo código de barras

Tiempo de generación de códigos de barras de IronBarcode

Se tarda 3756 ms o 3,76 seg en generar un código de barras.

Generar un código de barras con QrCoder

Vale la pena señalar que la biblioteca QrCoder no proporciona la funcionalidad para crear códigos de barras. Por lo tanto, si necesita crear códigos de barras, IronBarcode es la mejor opción.

En cuanto al escaneado de códigos QR, veamos qué biblioteca es la mejor opción.

Leer un código QR con IronBarcode

El siguiente código leerá un código QR utilizando IronBarcode.

BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Extracted text from QR Code is: "+result.Text);
    }
}
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Extracted text from QR Code is: "+result.Text);
    }
}
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\QrcodeByIronBarcode.png")
If results IsNot Nothing Then
	For Each result As BarcodeResult In results
		Console.WriteLine("Extracted text from QR Code is: " & result.Text)
	Next result
End If
VB   C#

IronBarcode devuelve un Enumerable como resultado de la lectura de códigos QR. Necesitamos recorrer el Enumerable para recuperar cada resultado. Esta función es beneficiosa para leer códigos QR de un documento o de una imagen que tenga más de un código QR.

Comparación entre IronBarcode y QrCoder C# - Figura 9: IronBarcode's QR Code Scanning Execution Time

El tiempo que tarda IronBarcode en leer/escanear todos los códigos QR de un documento.

Tarda 3136 ms o 3,1 segundos utilizando IronBarcode.

Leer un código QR con QrCoder

La biblioteca QrCoder no proporciona la funcionalidad para leer o escanear un código QR.

Leer un código de barras con IronBarcode

El siguiente código escaneará el código de barras utilizando IronBarcode.

BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
    }
}
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.png");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
    }
}
Dim results As BarcodeResults = BarcodeReader.Read("D:\Barcode Images\BarcodeByIronBarcode.png")
If results IsNot Nothing Then
	For Each result As BarcodeResult In results
		Console.WriteLine("Text Extracted from Barcode is: " & result.Text)
	Next result
End If
VB   C#

IronBarcode devuelve Enumerable como resultado de la lectura de códigos de barras. Tenemos que hacer un bucle para obtener cada resultado. Es beneficioso para la lectura de código de barras de un documento o imagen que tiene más de un código de barras.

La salida generada por el código anterior es como:

Comparación entre IronBarcode y QrCoder C# - Figura 10: Tiempo de ejecución de IronBarcode Escanear uno o varios códigos de barras

El tiempo que IronBarcode tarda en escanear un código de barras contenido en un PDF o una imagen.

Leer un código de barras con QrCoder

QrCoder Library no proporciona la funcionalidad de leer o escanear códigos QR.

Ahora, vamos a discutir las opciones de licencia de ambas bibliotecas.

Licencias

Licencias para IronBarcode

IronBarcode es gratuito para el desarrollo. Sin embargo, requiere una licencia para su despliegue fuera del entorno de desarrollo de Visual Studio. Los precios de las licencias van de $599 a 2999 $ (USD). Puede obtener un descuento si adquiere el paquete completo. Iron Suite.

Comparación entre IronBarcode y QrCoder C# - Figura 11: Licencias Iron

Consulte la [página de licencias] de IronBarcode (/csharp/barcode/licensing/) para obtener más información sobre las licencias disponibles.

Licencia para QrCoder

QrCoder es de código abierto, por lo que no requiere ninguna licencia. Puede utilizarlo en cualquier tipo de entorno. También puedes contribuir a su código fuente si te gusta el desarrollo de código abierto.

Cuándo utilizar QrCoder

Si sólo necesitamos la funcionalidad de generar códigos QR, QRCoder es la mejor opción a utilizar ya que es de uso gratuito y no requiere ningún pago o cuota de suscripción.

Cuándo utilizar IronBarcode

IronBarcode es una gran opción cuando requerimos funcionalidades más allá de la generación de códigos QR, como por ejemplo:

  • Lectura de uno o varios códigos de barras y códigos QR a partir de imágenes o PDF.
  • Corrección de la imagen por inclinación, orientación, ruido, baja resolución, contraste, etc.
  • Crear códigos de barras y aplicarlos a imágenes o documentos PDF.
  • Incrustación de códigos de barras en documentos HTML.
  • Estilizar códigos de barras y añadir texto de anotación.
  • Escritura de códigos QR que permite añadir logotipos, colores y alineación QR avanzada.

Resumen

La siguiente tabla compara IronBarcode y QrCoder.

Comparación entre IronBarcode y QrCoder C# - Figura 12: Comparación de las dos bibliotecas

Comparación entre IronBarcode y QrCoder

Conclusión

IronBarcode for .NET permite a los desarrolladores leer y escribir códigos de barras y códigos QR en sus aplicaciones .NET utilizando una sola línea de código. La biblioteca admite la mayoría de los estándares de códigos de barras y códigos QR, incluidos 39/93/128, UPC A/E, EAN 8/13 y QR, entre otros. La biblioteca preprocesa automáticamente las imágenes de códigos de barras y ofrece corrección de rotación, ruido, distorsión y desviación para mejorar la velocidad y la precisión. IronBarcode es compatible con sistemas de 32 y 64 bits, todos los lenguajes .NET y diversas plataformas, como aplicaciones de escritorio, de consola, en la nube, móviles y web. También permite a los desarrolladores escribir códigos de barras y códigos QR para documentos PDF, JPG, TIFF, GIF, BMP, PNG y HTML, y modificar el color, el tamaño, la rotación y la calidad del texto. La biblioteca es segura y no utiliza servicios web ni envía datos a través de Internet. IronBarcode está disponible para una prueba gratuita y ofrece tres opciones de licencia: una versión Lite para uso individual, un paquete Professional para equipos de hasta 10 desarrolladores y un paquete Unlimited para empresas.

QRCoder es una librería C# .NET que genera códigos QR basados en ISO/IEC 18004 sin depender de otras librerías. Ofrece varias clases de representación de códigos QR, como QRCode, ArtQRCode y AsciiQRCode, entre otras. Sin embargo, no todos los renderizadores están disponibles en todos los frameworks de destino, y las versiones .NET Standard/.NET >=5.0 tienen algunas limitaciones. QRCoder es gratuito y no requiere licencia.

IronBarcode es más versátil que QRCoder, ya que ofrece compatibilidad con todas las versiones de .NET Framework, cuenta con una gama más amplia de funciones y proporciona cobertura SaaS y de redistribución OEM. IronBarcode también proporciona documentación completa y soporte 24/7, mientras que QRCoder no lo hace. IronBarcode tiene un coste de licencia, pero es razonable teniendo en cuenta las funciones y el soporte que ofrece.

IronBarcode es una biblioteca desarrollada por Iron Softwareque también ofrece otras bibliotecas útiles, como IronPDF, IronXL, IronOCR y IronWebScraper. Adquiera el Iron Suite para conseguir los cinco productos con un notable descuento.

En resumen, IronBarcode es el más adecuado para quienes necesitan trabajar tanto con códigos de barras como con códigos QR y desean crear un generador de códigos de barras, un generador de códigos QR, un lector de códigos de barras y un lector de códigos QR. Por otro lado, QRCoder es adecuado para aquellos que sólo necesitan crear un generador de códigos QR.

< ANTERIOR
Biblioteca de códigos QR de ZXing.org e IronBarcode: Una comparación exhaustiva
SIGUIENTE >
Comparación entre ZXing Decoder e IronBarcode

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

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