Una Comparación Entre IronBarcode y QrCoder en C#
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:
Install-Package BarCode
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:
Install-Package QRCoder
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\QrCodeByIronBarcode.png");
// Stop the stopwatch and output the execution time
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
}
}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\QrCodeByIronBarcode.png");
// Stop the stopwatch and output the execution time
stopwatch.Stop();
Console.WriteLine($"Execution Time: {stopwatch.ElapsedMilliseconds} ms");
}
}La instancia de 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");
}
}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");
}
}QrCoder 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\BarcodeByIronBarcode.png");
}
}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\BarcodeByIronBarcode.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\QrcodeByIronBarcode.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);
}
}
}
}using System;
using IronBarCode;
class Program
{
static void Main()
{
// Read QR code from an image file
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\QrcodeByIronBarcode.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 la lectura de 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\BarcodeByIronBarcode.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);
}
}
}
}using System;
using IronBarCode;
class Program
{
static void Main()
{
// Read barcode from an image file
BarcodeResults results = BarcodeReader.Read(@"D:\Barcode Images\BarcodeByIronBarcode.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 implementación fuera del entorno de desarrollo de Visual Studio. El rango de precios de la licencia es de $liteLicense a $unlimitedLicense (USD). Puedes obtener un descuento si compras el Iron Suite completo.

Check out IronBarcode's [licensing page](/csharp/barcode/licensing/) 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 a usar ya que es gratuito y no requiere ningún pago o 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 .NET de C# que genera códigos QR según el estándar ISO/IEC 18004 sin dependencias 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 licencias.
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 integral 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ódigo QR.
Preguntas Frecuentes
¿Cómo puedo generar códigos QR en C#?
Para generar códigos QR en C#, puedes usar la librería QrCoder, que es una librería simple y de código abierto. Como alternativa, puedes usar IronBarcode para funciones más avanzadas, como estilizar códigos QR e integrarlos en documentos.
¿Cuáles son las ventajas de usar IronBarcode sobre QrCoder?
IronBarcode ofrece amplias funcionalidades como la lectura de códigos de barras y códigos QR, corrección de imágenes e incrustación de códigos de barras en PDFs y otros documentos. Es ideal para proyectos que requieren operaciones integrales de códigos de barras y códigos QR.
¿Existe una librería gratuita para generar códigos QR en C#?
Sí, QrCoder es una librería gratuita y de código abierto para generar códigos QR en C#. No requiere una licencia, lo que la convierte en una opción rentable para la generación simple de códigos QR.
¿Puedo leer códigos QR usando QrCoder?
No, QrCoder no soporta la lectura o el escaneo de códigos QR. Para leer códigos QR, puedes usar IronBarcode, que ofrece esta funcionalidad junto con características adicionales.
¿Cómo instalo una librería de código QR en un proyecto .NET?
Puedes instalar QrCoder usando la Consola del Administrador de Paquetes NuGet con el comando Install-Package QRCoder. Para IronBarcode, usa Install-Package IronBarcode.
¿Cuál es la diferencia en el tiempo de ejecución entre IronBarcode y QrCoder para la generación de códigos QR?
QrCoder es más rápido, tardando aproximadamente 592 ms en generar y guardar un código QR, mientras que IronBarcode tarda alrededor de 3503 ms. Sin embargo, IronBarcode ofrece características más avanzadas, además de la generación de códigos QR.
¿IronBarcode requiere una licencia para su implementación?
Sí, IronBarcode requiere una licencia para su implementación fuera del entorno de desarrollo de Visual Studio. Ofrece diferentes opciones de licencia, incluyendo paquetes Lite, Professional e Unlimited.
¿Qué funcionalidades ofrece IronBarcode para el procesamiento de códigos de barras?
IronBarcode permite la lectura y escritura de códigos de barras y códigos QR, corrección de imágenes, opciones de estilizado y la capacidad de incrustar códigos de barras en documentos como PDFs, convirtiéndolo en una herramienta integral para el procesamiento de códigos de barras.
¿Qué librería debo elegir para la generación simple de códigos QR en C#?
Para la generación simple de códigos QR, QrCoder es una opción adecuada debido a su facilidad de uso y licenciamiento gratuito. Sin embargo, para tareas más avanzadas, se recomienda IronBarcode.
¿Puedo integrar códigos QR en PDFs usando C#?
Sí, puedes usar IronBarcode para integrar códigos QR en PDFs. Ofrece funcionalidades para leer y escribir códigos QR y códigos de barras e incrustarlos en documentos sin problemas.







