Una Comparación entre IronBarcode y Aspose.Barcode
En este tutorial, compararemos dos bibliotecas ampliamente utilizadas de C# - IronBarcode y QrCoder - para trabajar con códigos QR y códigos de barras.
Comencemos 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 en 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 .NET Frameworks y .NET Core Frameworks. IronBarcode requiere solo una línea de código para leer o escribir códigos de barras.
Codificador QR
QrCoder es una biblioteca simple de C# que te permite crear códigos QR. No tiene dependencias de otras bibliotecas y está disponible en NuGet en versiones PCL de .NET Framework y .NET Core.
Ambas bibliotecas deberían 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 características de ambas bibliotecas y compararemos su rendimiento.
Primero, 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 Administrador de Paquetes de NuGet.
Instalar IronBarcode
Para instalar IronBarcode, escribe el siguiente comando en la Consola del Administrador de Paquetes:
Esto instalará la biblioteca IronBarcode en nuestro proyecto.

Instalación de IronBarcode
Instalar QRCoder
Escribe el siguiente comando en la Consola del Administrador de Paquetes:
Esto instalará la biblioteca QrCoder en nuestro proyecto.

Instalación de QrCoder
Ahora, generaremos nuestro primer código QR utilizando ambas bibliotecas.
Generar códigos QR usando IronBarcode
El siguiente código generará un código QR.
using System;
using System.Diagnostics;
using IronBarCode;
class Program
{
static void Main()
{
// Create a stopwatch to measure the execution time
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// Generate a QR code
var qrCode = QRCodeWriter.CreateQrCode("Iron Barcode Vs QrCoder");
// Save the generated QR code as a PNG file
qrCode.SaveAsPng(@"D:\Barcode Images\QrCodeBy IronBarcode.png");
// Stop the stopwatch and output the execution time
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
}
}
La instancia Stopwatch se crea para medir el tiempo de ejecución del programa para analizar la eficiencia de la biblioteca.

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.

Tiempo de ejecución de IronBarcode para generar nuevos códigos de barras
Crea un código QR con QrCoder
El siguiente código de ejemplo generará un código QR usando QrCoder.
using System;
using System.Drawing;
using QRCoder;
class Program
{
static void Main()
{
// Initialize the QRCodeGenerator
QRCodeGenerator qrGenerator = new QRCodeGenerator();
// Generate QRCodeData with specified error correction level
QRCodeData qrCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q);
// Create QRCode object
QRCode qrCode = new QRCode(qrCodeData);
// Convert QRCode to Bitmap
Bitmap qrCodeImage = qrCode.GetGraphic(20);
// Save the QR code as a PNG file
qrCodeImage.Save(@"D:\Barcode Images\QrCodeByQrCoder.png");
}
}Imports System
Imports System.Drawing
Imports QRCoder
Friend Class Program
Shared Sub Main()
' Initialize the QRCodeGenerator
Dim qrGenerator As New QRCodeGenerator()
' Generate QRCodeData with specified error correction level
Dim qrCodeData As QRCodeData = qrGenerator.CreateQrCode("Iron Barcode Vs QrCoder", QRCodeGenerator.ECCLevel.Q)
' Create QRCode object
Dim qrCode As New QRCode(qrCodeData)
' Convert QRCode to Bitmap
Dim qrCodeImage As Bitmap = qrCode.GetGraphic(20)
' Save the QR code as a PNG file
qrCodeImage.Save("D:\Barcode Images\QrCodeByQrCoder.png")
End Sub
End ClassQrCoder no proporciona una función incorporada para guardar el código QR como una imagen. Sin embargo, podemos guardarlo analizando el QrCoder en un objeto Bitmap. Luego podemos guardar el código QR usando la función de guardar proporcionada por Bitmap.

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.

El tiempo que tardó QrCoder en generar un nuevo código de barras
Análisis
El tiempo de ejecución tomado por IronBarcode es de 3503 ms, mientras que QrCoder solo toma 592 ms. Esto hace que QrCoder sea más rápido que IronBarcode en términos de rendimiento.
Generar códigos QR es mucho más sencillo en IronBarcode, ya que solo 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 incorporada para guardar códigos QR generados en un archivo, mientras que QrCoder no. Tenemos que crear un objeto de bitmap para guardar el código QR en un archivo. Esto requiere que creemos cuatro objetos para generar códigos QR usando QrCoder. Solo necesitamos crear un objeto en IronBarcode para hacer lo mismo.
A continuación, generaremos códigos de barras usando ambas bibliotecas.
Generar un código de barras usando IronBarcode
El siguiente código generará un código de barras usando IronBarcode:
using IronBarCode;
class Program
{
static void Main()
{
// Generate a barcode with Code128 encoding
var barcode = BarcodeWriter.CreateBarcode("Iron Barcode Vs QrCoder", BarcodeEncoding.Code128);
// Save the generated barcode as a PNG file
barcode.SaveAsPng(@"D:\Barcode Images\BarcodeBy IronBarcode.png");
}
}

Código de barras generado con IronBarcode
El tiempo de ejecución tomado para generar un código de barras usando IronBarcode es el siguiente:

Tiempo de generación del código de barras de IronBarcode
Toma 3756 ms o 3.76 segundos generar un código de barras.
Generar un código de barras usando QrCoder
Vale la pena notar que la biblioteca QrCoder no proporciona la funcionalidad para crear códigos de barras. Por lo tanto, si necesitas crear códigos de barras, IronBarcode es la mejor opción.
Con respecto al escaneo de códigos QR, veamos cuál biblioteca es la mejor opción.
Leer un código QR con IronBarcode
El siguiente código leerá un código QR usando IronBarcode.
using System;
using IronBarCode;
class Program
{
static void Main()
{
// Read QR code from an image file
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeBy IronBarcode.png");
// Check if any QR codes are found
if (results != null)
{
// Loop through each result and print extracted text
foreach (BarcodeResult result in results)
{
Console.WriteLine("Extracted text from QR Code is: " + result.Text);
}
}
}
}
IronBarcode devuelve un Enumerable como resultado de leer códigos QR. Necesitamos recorrer el Enumerable para recuperar cada resultado. Esta característica es beneficiosa para leer códigos QR de un documento o de una imagen que tiene más de un código QR.

El tiempo que tarda IronBarcode en leer/escanear todos los códigos QR de un documento
Tarda 3136 ms o 3.1 segundos usando IronBarcode.
Leer un código QR usando QrCoder
La Biblioteca QrCoder no proporciona la funcionalidad de leer o escanear un código QR.
Leer un código de barras usando IronBarcode
El siguiente código escaneará el código de barras usando IronBarcode.
using System;
using IronBarCode;
class Program
{
static void Main()
{
// Read barcode from an image file
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeBy IronBarcode.png");
// Check if any barcodes are found
if (results != null)
{
// Loop through each result and print extracted text
foreach (BarcodeResult result in results)
{
Console.WriteLine("Text Extracted from Barcode is: " + result.Text);
}
}
}
}
IronBarcode devuelve Enumerable como resultado de leer códigos de barras. Necesitamos recorrerlo para obtener cada resultado. Es beneficioso para leer códigos de barras de un documento o imagen que tiene más de un código de barras.
El resultado generado por el código anterior es el siguiente:

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 usando QrCoder
QrCoder Library no proporciona la funcionalidad de leer o escanear Código QR.
Ahora, discutamos las opciones de licencia de ambas bibliotecas.
Licencias
Licencias para IronBarcode
IronBarcode es gratis para desarrollo. Sin embargo, requiere una licencia para despliegue fuera del entorno de desarrollo de Visual Studio. Los precios de las licencias oscilan entre $999 y $4,799 (USD). Puedes obtener un descuento si compras el Iron Suite completo.

Check out IronBarcode's licensing page for more information about available licenses.
Licencias para QrCoder
QrCoder es de código abierto, por lo tanto, no requiere ninguna licencia. Puedes usarlo libremente 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 usar QrCoder
Si solo necesitamos la funcionalidad de generar códigos QR, QrCoder es la mejor opción ya que es gratuito y no requiere ningún pago o cuotas de suscripción.
Cuándo utilizar IronBarcode
IronBarcode es una gran opción cuando necesitamos funcionalidades más allá de generar códigos QR, tales como:
- Leer uno o varios códigos de barras y códigos QR de imágenes o PDFs.
- Corrección de imágenes para sesgo, orientación, ruido, baja resolución, contraste, etc.
- Creación de códigos de barras y su aplicación a imágenes o documentos PDF.
- Incrustar códigos de barras en documentos HTML.
- Estilizar códigos de barras y agregar texto de anotación.
- Escritura de códigos QR que permite agregar logotipos, colores y alineación avanzada de QR.
Resumen
La tabla a continuación compara tanto IronBarcode como QrCoder.

Comparación lado a lado de 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 usando solo una 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 para rotación, ruido, distorsión y desviación para mejorar la velocidad y precisión. IronBarcode es compatible con sistemas de 32 y 64 bits, todos los lenguajes .NET, y una variedad de plataformas, incluidas aplicaciones de escritorio, consola, nube, y 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 color de texto, tamaño, rotación y calidad. 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, incluida 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 biblioteca de C# .NET que genera códigos QR basados en ISO/IEC 18004 sin depender de otras bibliotecas. Ofrece varias clases de representación de códigos QR, incluyendo QRCode, ArtQRCode, AsciiQRCode, y 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 restricciones. QrCoder es gratis y no requiere licenciamiento.
IronBarcode es más versátil que QrCoder ya que ofrece soporte para todas las versiones de .NET Framework, tiene una gama más amplia de características, y proporciona cobertura de SaaS y Redistribución OEM. IronBarcode también proporciona documentación completa y soporte 24/7, mientras que QrCoder no. IronBarcode tiene una tarifa de licencia, pero es razonable considerando las características y el soporte que ofrece.
IronBarcode es una biblioteca desarrollada por Iron Software, que también ofrece otras bibliotecas útiles, incluidas IronPDF, IronXL, IronOCR, y IronWebScraper. Compra el Iron Suite completo para obtener los cinco productos a un precio con un descuento notable.
En resumen, IronBarcode es más adecuado para aquellos que necesitan trabajar tanto con códigos de barras como con códigos QR y desean crear un generador de códigos de barras, generador de códigos QR, lector de códigos de barras, y lector de códigos QR. Por otro lado, QrCoder es adecuado para aquellos que solo necesitan crear un generador de códigos QR.

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.