Saltar al pie de página
COMPARAR CON OTROS COMPONENTES

Biblioteca QR Code ZXing.org e IronBarcode: Una Comparación Exhaustiva

Si ya tienes una imagen electrónica del código de barras en teléfono técnico/teléfono de administración y deseas descifrarla como datos de texto en inglés, un escáner de códigos de barras podría no ser la mejor herramienta. Además, los escáneres de códigos de barras están limitados a leer solo códigos de barras 1-D, que tienen capacidad de almacenamiento restringida, estado de dominio, formatos compatibles y solo se pueden usar con la biblioteca de clases Windows RT. Hoy en día, los códigos de barras 2-D (llamados también códigos QR) son más comunes y pueden almacenar significativamente más información como la fecha actualizada.

Una aplicación de escaneo de códigos de barras puede ejecutarse en Windows, MacOS o Linux sin depender de herramientas o APIs de terceros ya que es compatible con .NET.

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 2 - Aplicación Web

Crear y escanear códigos de barras se ha vuelto esencial para muchos negocios para evitar el spam. Dos herramientas populares para crear códigos de barras son el proyecto de código abierto ZXing para decodificar y IronBarcode. En este artículo, exploraremos las características y beneficios de cada una de estas herramientas y las compararemos.

Decodificador ZXing

ZXing es una biblioteca de código abierto popular para generar y decodificar códigos de barras 1D y 2D.

También soporta múltiples lenguajes de programación, incluidos Java, C++ y .NET.

El Decodificador ZXing Online es una herramienta basada en la web que permite a los usuarios escanear y decodificar imágenes de códigos de barras y códigos QR. Además, los usuarios pueden crear códigos QR para cualquier información, que generalmente está en forma de una URL o texto que desean codificar.

Para usar el decodificador online de ZXing, sigue estos pasos:

  1. Visita el sitio web del Decodificador ZXing Online.

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 2 - ZXing Web desarrollado por Google

  1. Haz clic en el botón "Elegir archivo" para seleccionar un archivo de imagen de código QR.
  2. Una vez que hayas seleccionado la imagen, haz clic en el botón "Enviar".

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 3 - ZXing Decodificación

  1. Si se encuentra un código reconocible, la herramienta decodificará el Código QR y mostrará la información resultante.

La biblioteca es fácil de usar y se puede integrar en aplicaciones web, aplicaciones móviles y aplicaciones de escritorio.

ZXing se ha adoptado ampliamente y tiene una gran comunidad de desarrolladores que contribuyen a su desarrollo y brindan soporte.

La biblioteca recopila información del dispositivo, como el modelo del dispositivo y la versión del sistema operativo, que puede considerarse un posible riesgo de seguridad.

Además, algunos han expresado preocupaciones sobre la propiedad y el control de la biblioteca, ya que no es mantenida por una organización independiente.

En general, ZXing es una poderosa y versátil biblioteca para la generación y decodificación de códigos de barras, con amplia adopción y soporte comunitario.

Para generar un código QR usando ZXing, por ejemplo, los desarrolladores solo necesitan escribir unas pocas líneas de código:

using ZXing;
using ZXing.QrCode;

// Create a BarcodeWriter instance to generate QR codes
BarcodeWriter writer = new BarcodeWriter
{
    Format = BarcodeFormat.QR_CODE // Set format to QR_CODE
};

// Generate a QR code with the text "Hello, ZXing!"
Bitmap qrCode = writer.Write("Hello, ZXing!");
using ZXing;
using ZXing.QrCode;

// Create a BarcodeWriter instance to generate QR codes
BarcodeWriter writer = new BarcodeWriter
{
    Format = BarcodeFormat.QR_CODE // Set format to QR_CODE
};

// Generate a QR code with the text "Hello, ZXing!"
Bitmap qrCode = writer.Write("Hello, ZXing!");
Imports ZXing
Imports ZXing.QrCode

' Create a BarcodeWriter instance to generate QR codes
Private writer As New BarcodeWriter With {.Format = BarcodeFormat.QR_CODE}

' Generate a QR code with the text "Hello, ZXing!"
Private qrCode As Bitmap = writer.Write("Hello, ZXing!")
$vbLabelText   $csharpLabel

Para decodificar un código QR usando el proyecto ZXing, los desarrolladores pueden usar el siguiente código:

using ZXing;
using ZXing.QrCode;

// Create a BarcodeReader instance for decoding QR codes
BarcodeReader reader = new BarcodeReader();

// Decode the QR code from a bitmap image
Result result = reader.Decode(qrCode);

// Extract the text from the decoded QR code
string text = result.Text;
using ZXing;
using ZXing.QrCode;

// Create a BarcodeReader instance for decoding QR codes
BarcodeReader reader = new BarcodeReader();

// Decode the QR code from a bitmap image
Result result = reader.Decode(qrCode);

// Extract the text from the decoded QR code
string text = result.Text;
Imports ZXing
Imports ZXing.QrCode

' Create a BarcodeReader instance for decoding QR codes
Private reader As New BarcodeReader()

' Decode the QR code from a bitmap image
Private result As Result = reader.Decode(qrCode)

' Extract the text from the decoded QR code
Private text As String = result.Text
$vbLabelText   $csharpLabel

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 4 - Generador de Código QR

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 5 - Archivos de Código QR Mostrados

Presentamos IronBarcode

IronBarcode es una poderosa biblioteca de generación y escaneo de códigos de barras para desarrolladores .NET, creada por Iron Software.

IronBarcode ofrece una API fácil de usar que permite a los desarrolladores generar y escanear varios tipos de códigos de barras, incluidos códigos QR, códigos Data Matrix y códigos UPC-A.

La biblioteca IronBarcode fue creada por Iron Software como una forma de extender la funcionalidad de la biblioteca ZXing.NET.

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 6 - Formatos de Códigos de Barras Soportados

Añade nuevas características y funcionalidades, como la capacidad de generar códigos de barras 2D, códigos de barras PDF417 y la capacidad de leer códigos de barras directamente desde archivos de imagen.

Aquí tienes un ejemplo de cómo generar un código QR usando IronBarcode:

using IronBarCode;

// Generate a QR code with the text "Hello, IronBarcode!"
var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);

// Save the generated QR code as a PNG image
barcode.SaveAsImage("qrcode.png");
using IronBarCode;

// Generate a QR code with the text "Hello, IronBarcode!"
var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);

// Save the generated QR code as a PNG image
barcode.SaveAsImage("qrcode.png");
Imports IronBarCode

' Generate a QR code with the text "Hello, IronBarcode!"
Private barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode)

' Save the generated QR code as a PNG image
barcode.SaveAsImage("qrcode.png")
$vbLabelText   $csharpLabel

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 7 - Código QR

Para escanear un código de barras usando IronBarcode, puedes usar el siguiente código:

using IronBarCode;

// Read the QR code from the image file "qrcode.png"
var barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode);

// Extract the text from the decoded QR code
string text = barcode.Text;
using IronBarCode;

// Read the QR code from the image file "qrcode.png"
var barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode);

// Extract the text from the decoded QR code
string text = barcode.Text;
Imports IronBarCode

' Read the QR code from the image file "qrcode.png"
Private barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode)

' Extract the text from the decoded QR code
Private text As String = barcode.Text
$vbLabelText   $csharpLabel

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 8 - Crear una Imagen de Código de Barras en C#

IronBarcode soporta una amplia variedad de tipos de códigos de barras, incluidos códigos 2D, UPC-A, UPC-E, EAN-8, EAN-13, Code39, Code128, PDF417, y muchos más.

Se basa en las fortalezas de la biblioteca ZXing.NET, proporcionando un escaneo y generación de códigos de barras más rápido y preciso, además de añadir nuevas características y funcionalidades.

Cómo utilizar IronBarcode

Aquí tienes algunos pasos sobre cómo usar IronBarcode:

Paso 1: Instalar la biblioteca IronBarcode

Para usar IronBarcode en tu proyecto .NET, primero necesitas instalar la biblioteca IronBarcode usando NuGet. Puedes hacer esto ejecutando el siguiente comando en la Consola del Administrador de Paquetes NuGet:

Install-Package BarCode

Paso 2: Generar un código de barras

Para generar un código de barras usando IronBarcode, puedes usar la clase BarcodeWriter.

using IronBarCode;

// Generate a QR code with the text "Hello, IronBarcode!"
var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);

// Save the generated QR code as an image file
barcode.SaveAsImage("qrcode.png");
using IronBarCode;

// Generate a QR code with the text "Hello, IronBarcode!"
var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);

// Save the generated QR code as an image file
barcode.SaveAsImage("qrcode.png");
Imports IronBarCode

' Generate a QR code with the text "Hello, IronBarcode!"
Private barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode)

' Save the generated QR code as an image file
barcode.SaveAsImage("qrcode.png")
$vbLabelText   $csharpLabel

Este código crea un código QR con el texto "¡Hola, IronBarcode!" y lo guarda como un archivo de imagen llamado "qrcode.png".

Paso 3: Escanee un código de barras

Para escanear un código de barras usando IronBarcode, puedes usar la clase BarcodeReader.

using IronBarCode;

// Read the QR code from the image file "qrcode.png"
var barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode);

// Extract the text from the decoded QR code
string text = barcode.Text;
using IronBarCode;

// Read the QR code from the image file "qrcode.png"
var barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode);

// Extract the text from the decoded QR code
string text = barcode.Text;
Imports IronBarCode

' Read the QR code from the image file "qrcode.png"
Private barcode = BarcodeReader.ReadBarcode("qrcode.png", BarcodeEncoding.QRCode)

' Extract the text from the decoded QR code
Private text As String = barcode.Text
$vbLabelText   $csharpLabel

Este código lee el código QR desde el archivo de imagen "qrcode.png" y devuelve el texto que se codificó en el código de barras.

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 9 - Escanear un Código de Barras

Paso 4: Personaliza el código de barras

IronBarcode ofrece una gama de opciones de personalización que te permiten controlar la apariencia y el comportamiento de la implementación de escaneo de códigos de barras generada.

Aquí tienes un ejemplo de cómo personalizar un código QR usando IronBarcode para la implementación de escaneo de códigos de barras:

using IronBarCode;

// Customize a QR code
var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);
barcode.ResizeTo(400, 400); // Resize the barcode
barcode.SetMargins(20); // Set margins around the barcode
barcode.SetForegroundColor(Color.Black); // Set the foreground color
barcode.SetBackgroundColor(Color.White); // Set the background color
barcode.AddCaptionAbove("Scan me with your smartphone!"); // Add a caption above the barcode
barcode.AddImageLogo("logo.png", 80, 80); // Add a logo to the barcode
barcode.SaveAsImage("qrcode.png"); // Save the customized barcode as an image
using IronBarCode;

// Customize a QR code
var barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode);
barcode.ResizeTo(400, 400); // Resize the barcode
barcode.SetMargins(20); // Set margins around the barcode
barcode.SetForegroundColor(Color.Black); // Set the foreground color
barcode.SetBackgroundColor(Color.White); // Set the background color
barcode.AddCaptionAbove("Scan me with your smartphone!"); // Add a caption above the barcode
barcode.AddImageLogo("logo.png", 80, 80); // Add a logo to the barcode
barcode.SaveAsImage("qrcode.png"); // Save the customized barcode as an image
Imports IronBarCode

' Customize a QR code
Private barcode = BarcodeWriter.CreateBarcode("Hello, IronBarcode!", BarcodeWriterEncoding.QRCode)
barcode.ResizeTo(400, 400) ' Resize the barcode
barcode.SetMargins(20) ' Set margins around the barcode
barcode.SetForegroundColor(Color.Black) ' Set the foreground color
barcode.SetBackgroundColor(Color.White) ' Set the background color
barcode.AddCaptionAbove("Scan me with your smartphone!") ' Add a caption above the barcode
barcode.AddImageLogo("logo.png", 80, 80) ' Add a logo to the barcode
barcode.SaveAsImage("qrcode.png") ' Save the customized barcode as an image
$vbLabelText   $csharpLabel

Este código genera un código QR con el texto "¡Hola, IronBarcode!" y lo personaliza al redimensionarlo a 400x400 píxeles, agregar márgenes de 20 píxeles, establecer el color de primer plano en negro y el color de fondo en blanco, agregar un título encima del código de barras y añadir una imagen de logo.

Lo que IronBarcode puede hacer

IronBarcode se basa en la biblioteca de código abierto ZXing, pero extiende sus capacidades para soportar una gama más amplia de tipos de códigos de barras, incluidos códigos QR, Code 128, Code 39, EAN-13, EAN-8, UPC-A, y muchos más.

Aquí algunas de las cosas que IronBarcode puede hacer:

Generar códigos de barras

IronBarcode puede generar fácilmente códigos de barras de varios tipos y estilos, incluidos códigos de barras lineales y 2D, con características personalizables como colores, texto y superposiciones de imágenes. El siguiente fragmento de código genera un Código QR:

var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Hello World!", IronBarCode.BarcodeWriterEncoding.QRCode);
barcode.SaveAsJpeg("QRCode.jpg");
var barcode = IronBarCode.BarcodeWriter.CreateBarcode("Hello World!", IronBarCode.BarcodeWriterEncoding.QRCode);
barcode.SaveAsJpeg("QRCode.jpg");
Dim barcode = IronBarCode.BarcodeWriter.CreateBarcode("Hello World!", IronBarCode.BarcodeWriterEncoding.QRCode)
barcode.SaveAsJpeg("QRCode.jpg")
$vbLabelText   $csharpLabel

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 10 - Imagen de Código de Barras Code128 para ser Escaneada

Leer códigos de barras

IronBarcode también proporciona un potente escáner de códigos de barras que puede leer códigos de barras desde imágenes, PDFs y transmisiones de cámara en vivo. El siguiente código lee un Código QR de un archivo de imagen:

var barcode = IronBarCode.BarcodeReader.Read("QRCode.jpg", IronBarCode.BarcodeReaderEncoding.QRCode);
Console.WriteLine(barcode.Text);
var barcode = IronBarCode.BarcodeReader.Read("QRCode.jpg", IronBarCode.BarcodeReaderEncoding.QRCode);
Console.WriteLine(barcode.Text);
Dim barcode = IronBarCode.BarcodeReader.Read("QRCode.jpg", IronBarCode.BarcodeReaderEncoding.QRCode)
Console.WriteLine(barcode.Text)
$vbLabelText   $csharpLabel

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 11 - Leyendo Códigos de Barras Almacenados Dentro de PDF

Validar códigos de barras

IronBarcode también puede validar códigos de barras para asegurar que son válidos y pueden ser escaneados por otros lectores de códigos de barras. El siguiente fragmento de código valida un código de barras Code 128:

var barcode = IronBarCode.BarcodeReader.Read("Code128.jpg", IronBarCode.BarcodeReaderEncoding.Code128);

// Check if the barcode is valid
if (barcode.IsValid)
{
    Console.WriteLine("Barcode is valid.");
}
else
{
    Console.WriteLine("Barcode is invalid.");
}
var barcode = IronBarCode.BarcodeReader.Read("Code128.jpg", IronBarCode.BarcodeReaderEncoding.Code128);

// Check if the barcode is valid
if (barcode.IsValid)
{
    Console.WriteLine("Barcode is valid.");
}
else
{
    Console.WriteLine("Barcode is invalid.");
}
Dim barcode = IronBarCode.BarcodeReader.Read("Code128.jpg", IronBarCode.BarcodeReaderEncoding.Code128)

' Check if the barcode is valid
If barcode.IsValid Then
	Console.WriteLine("Barcode is valid.")
Else
	Console.WriteLine("Barcode is invalid.")
End If
$vbLabelText   $csharpLabel

Convertir códigos de barras

IronBarcode puede convertir códigos de barras de un formato a otro, como convertir un código de barras Code 39 a un Código QR. El siguiente fragmento de código convierte un código de barras Code 39 a un Código QR:

var barcode = IronBarCode.BarcodeReader.Read("Code39.jpg", IronBarCode.BarcodeReaderEncoding.Code39);
var qrCode = IronBarCode.BarcodeWriter.CreateBarcode(barcode.Text, IronBarCode.BarcodeWriterEncoding.QRCode);
qrCode.SaveAsJpeg("QRCode.jpg");
var barcode = IronBarCode.BarcodeReader.Read("Code39.jpg", IronBarCode.BarcodeReaderEncoding.Code39);
var qrCode = IronBarCode.BarcodeWriter.CreateBarcode(barcode.Text, IronBarCode.BarcodeWriterEncoding.QRCode);
qrCode.SaveAsJpeg("QRCode.jpg");
Dim barcode = IronBarCode.BarcodeReader.Read("Code39.jpg", IronBarCode.BarcodeReaderEncoding.Code39)
Dim qrCode = IronBarCode.BarcodeWriter.CreateBarcode(barcode.Text, IronBarCode.BarcodeWriterEncoding.QRCode)
qrCode.SaveAsJpeg("QRCode.jpg")
$vbLabelText   $csharpLabel

Por qué IronBarcode es mejor que el decodificador en línea ZXing

Aquí algunas de las formas en que IronBarcode es mejor que ZXing:

  1. Rendimiento: IronBarcode es más rápido que ZXing, lo que lo convierte en una excelente opción para aplicaciones web que requieren escaneo y generación de códigos de barras de alta velocidad.
  2. Facilidad de uso: La API de IronBarcode es simple e intuitiva, lo que facilita la creación y escaneo de códigos de barras en solo unas pocas líneas de código. Por otro lado, la API de ZXing puede ser compleja y difícil de usar para principiantes.
  3. Calidad de salida: IronBarcode produce códigos de barras de alta calidad que son fáciles de leer, incluso en tamaños pequeños. En contraste, los códigos de barras de ZXing pueden algunas veces ser difíciles de leer, particularmente en tamaños más pequeños.
  4. Formatos soportados: IronBarcode soporta una amplia gama de formatos de códigos de barras, incluidos UPC-A, códigos de barras 2D, y más. En comparación, el proyecto ZXing solo soporta un número limitado de formatos de códigos de barras.
  5. Licenciamiento: IronBarcode ofrece un modelo de licencia flexible que permite a los desarrolladores usar la biblioteca de forma gratuita o comprar una licencia según sus necesidades. En contraste, el licenciamiento de ZXing es restrictivo, lo que dificulta a los desarrolladores usar la biblioteca en proyectos comerciales.

ZXing.org QR Code Library y IronBarcode: Una Comparación Completa: Figura 12 - Leyendo Códigos de Barras desde una Imagen TIFF Multiframe

IronBarcode es una biblioteca superior a ZXing en lo que respecta al rendimiento, facilidad de uso, calidad de salida, formatos soportados y licenciamiento.

Vea usted mismo la superioridad de IronBarcode

Experimenta todo lo que IronBarcode tiene para ofrecer utilizando el Demo Gratuito de Lectura de Códigos de Barras a continuación.

IronBarcode también ofrece una prueba gratuita

¿Buscas probar IronBarcode y ver cómo puede mejorar tus capacidades de escaneo y generación de códigos de barras? Estamos emocionados de ofrecer una prueba gratuita de IronBarcode para que pruebes sus características y beneficios.

Durante tu período de prueba, tendrás acceso completo a todas las poderosas características de IronBarcode, incluyendo soporte para una amplia gama de formatos de códigos de barras, opciones avanzadas de personalización e integración sin problemas con tus proyectos existentes.

Para comenzar tu prueba, simplemente visita nuestro sitio web y descarga el paquete de IronBarcode. Tendrás entonces prueba gratuita para explorar todo lo que IronBarcode tiene para ofrecer y ver de primera mano cómo puede optimizar tus flujos de trabajo de escaneo y generación de códigos de barras.

Por favor notaZXing es una marca registrada de su respectivo propietario. Este sitio no está afiliado, endosado ni respaldado por ZXing. Todos los nombres de producto, logotipos y marcas son propiedad de sus respectivos dueños. Las comparaciones son sólo para fines informativos y reflejan información disponible públicamente al momento de escribir.

Preguntas Frecuentes

¿Cuáles son las limitaciones de usar ZXing para el escaneo de códigos de barras?

ZXing es una biblioteca de código abierto popular para el escaneo de códigos de barras, pero su integración puede ser compleja y puede presentar riesgos potenciales de seguridad. Su soporte de formatos también es limitado en comparación con alternativas comerciales como IronBarcode.

¿Cómo puedo decodificar un código QR en .NET?

Puedes decodificar un código QR en .NET utilizando IronBarcode mediante su clase BarcodeReader, que ofrece una API sencilla para leer e interpretar imágenes de códigos de barras.

¿Cuáles son los beneficios de usar IronBarcode sobre ZXing?

IronBarcode ofrece una experiencia más amigable con un rendimiento más rápido, mayor soporte de formatos, incluyendo soporte para Data Matrix y PDF417, y opciones mejoradas de personalización para la apariencia de los códigos de barras.

¿Cómo puede un desarrollador .NET generar un código de barras con apariencias personalizadas?

Con IronBarcode, los desarrolladores pueden personalizar los códigos de barras al redimensionar, establecer márgenes, cambiar colores, agregar leyendas e incrustar imágenes o logotipos mediante su API flexible.

¿Qué hace de IronBarcode una herramienta versátil para los desarrolladores .NET?

IronBarcode soporta varias plataformas sin dependencias de terceros, ofreciendo un conjunto robusto de herramientas para la generación y escaneo de códigos de barras, incluyendo amplias opciones de personalización y formatos.

¿Cómo integro una biblioteca de códigos de barras en una aplicación .NET?

Para integrar IronBarcode en una aplicación .NET, instálalo a través de NuGet y utiliza su API para generar y escanear códigos de barras de manera eficiente con una configuración mínima.

¿Puedo probar IronBarcode antes de comprarlo?

Sí, puedes descargar una versión de prueba gratuita de IronBarcode desde el sitio web de Iron Software, que proporciona acceso completo a sus funciones durante el período de prueba.

¿Cuáles son las ventajas de las bibliotecas comerciales de códigos de barras?

Las bibliotecas comerciales de códigos de barras como IronBarcode ofrecen mejor rendimiento, facilidad de uso, mayor calidad de salida, soporte de formatos más amplio y licencias más flexibles en comparación con las alternativas de código abierto.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más