Saltar al pie de página
USANDO IRONQR

Generador de códigos QR .NET Core: Cree y lea códigos de respuesta rápida en C#

Crear un generador de códigos QR en .NET Core nunca ha sido tan sencillo. Al evaluar los requisitos de un generador de códigos QR, los desarrolladores buscan un equilibrio entre facilidad de uso y funciones avanzadas opcionales. Ya sea para crear aplicaciones web ASP.NET Core o herramientas de consola, los desarrolladores necesitan una biblioteca fiable que gestione todo, desde la creación básica de códigos QR hasta la personalización avanzada.

IronQR ofrece una potente solución para .NET Core que admite la codificación de cadenas de texto, URL y texto Unicode en japonés. Mientras que algunos pueden buscar inicialmente una biblioteca de código abierto .NET como la biblioteca QRCoder (conocida por su licencia MIT permisiva), IronQR proporciona una alternativa de nivel empresarial con capacidades de aprendizaje automático y soporte dedicado.

Este tutorial muestra cómo generar códigos QR, configurar niveles de corrección de errores y leer códigos existentes mediante detección basada en aprendizaje automático, todo ello dentro de sus proyectos .NET Core.

Comience a utilizar IronQR hoy mismo mediante una prueba gratuita.

Empiece con IronQR ahora.
green arrow pointer

¿Cómo instalar una biblioteca de códigos QR en .NET Core?

Para empezar, abra Visual Studio y haga clic en el botón Crear para iniciar un nuevo proyecto. Una vez asignado el nombre del proyecto, la instalación de la biblioteca a través del gestor de paquetes NuGet se realiza en cuestión de segundos. Mientras que algunos desarrolladores podrían buscar el paquete NuGet de QRCoder, usted puede instalar el framework IronQR ejecutando el siguiente comando en la consola del gestor de paquetes:

Install-Package IronQR

También puede utilizar la interfaz de usuario del gestor de paquetes NuGet buscando "IronQR" y haciendo clic en el botón de instalación. La biblioteca ofrece una implementación .NET compatible con .NET Core 3.x, .NET 5, 6, 7, 8, 9 y 10, lo que la hace ideal para el desarrollo web moderno y los proyectos multiplataforma.

¿Cómo se genera un código QR?

La clase QrWriter, utilizada a menudo junto con prácticos métodos de extensión, hace que la generación de códigos QR sea notablemente sencilla. A continuación se muestra el código fuente de un ejemplo completo que utiliza la estructura tradicional de espacios de nombres y clases para generar un código QR en tan solo unas líneas de código:

using IronQr;
using IronSoftware.Drawing;
namespace Examples
{
    public class QRCodeGenerator
    {
        public static void Main(string[] args)
        {
            // Generate a QR code from input text
            var qrcode = QrWriter.Write("https://ironsoftware.com");
            // Save as PNG image
            AnyBitmap qrImage = qrcode.Save();
            qrImage.SaveAs("website-qr.png");
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
namespace Examples
{
    public class QRCodeGenerator
    {
        public static void Main(string[] args)
        {
            // Generate a QR code from input text
            var qrcode = QrWriter.Write("https://ironsoftware.com");
            // Save as PNG image
            AnyBitmap qrImage = qrcode.Save();
            qrImage.SaveAs("website-qr.png");
        }
    }
}
$vbLabelText   $csharpLabel

Resultado

QR Code Generator .NET Core: Cree y lea códigos de respuesta rápida en C#: Imagen 1 - QR creado a partir de la URL

El método QrWriter.Write() procesa los datos en QrCodeData, que contiene los módulos en bruto (los cuadrados blancos y negros) del símbolo QR. IronQR utiliza generadores internos de carga útil para garantizar que el texto de entrada se codifica de forma eficiente para datos numéricos, cadenas de texto alfanuméricas o matrices de bytes.

¿Qué son los niveles de corrección de errores y por qué son importantes?

La corrección de errores determina cuánto daño puede sufrir un símbolo QR sin dejar de ser escaneable. Se trata de una de las características avanzadas opcionales que permite la creación de marca y la durabilidad.

NivelRecuperación de datosLo mejor para
L (Bajo)~7%Pantallas digitales limpias
M (Medio)~15%Uso general
Q (Cuartil)~25%Material impreso
H (alto)~30%Entornos difíciles, logotipos superpuestos

Configure la corrección de errores mediante QrOptions:

using IronQr;
// Configure with high error correction level
var options = new QrOptions(QrErrorCorrectionLevel.High, 20);
// Generate QR code with options
var qrcode = QrWriter.Write("Product-12345", options);
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("product-qr.png");
using IronQr;
// Configure with high error correction level
var options = new QrOptions(QrErrorCorrectionLevel.High, 20);
// Generate QR code with options
var qrcode = QrWriter.Write("Product-12345", options);
AnyBitmap qrImage = qrcode.Save();
qrImage.SaveAs("product-qr.png");
$vbLabelText   $csharpLabel

Resultado QR

QR Code Generator .NET Core: Cree y lea códigos de respuesta rápida en C#: Imagen 2 - Código QR generado con corrección de errores

El segundo parámetro especifica el número máximo de versión permitido, controlando el tamaño y la capacidad de datos del código QR. Una mayor corrección de errores es esencial cuando se añade una imagen de logotipo o para escenarios de desgaste físico.

¿Cómo personalizar la apariencia del código QR con logotipo y colores?

Las QrStyleOptions de IronQR permiten generar códigos QR alineados con la marca, con colores, dimensiones y logotipos incrustados personalizados:

using IronQr;
using IronSoftware.Drawing;
var styleOptions = new QrStyleOptions
{
    Dimensions = 300,
    Margins = 10,
    Color = Color.DarkBlue,
    Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("company-logo.png") }
};
var qrcode = QrWriter.Write("https://yourcompany.com");
AnyBitmap qrImage = qrcode.Save(styleOptions);
qrImage.SaveAs("branded-qr.png");
using IronQr;
using IronSoftware.Drawing;
var styleOptions = new QrStyleOptions
{
    Dimensions = 300,
    Margins = 10,
    Color = Color.DarkBlue,
    Logo = new QrLogo { Bitmap = AnyBitmap.FromFile("company-logo.png") }
};
var qrcode = QrWriter.Write("https://yourcompany.com");
AnyBitmap qrImage = qrcode.Save(styleOptions);
qrImage.SaveAs("branded-qr.png");
$vbLabelText   $csharpLabel

Código QR estilizado

QR Code Generator .NET Core: Cree y lea códigos de respuesta rápida en C#: Imagen 3 - Salida de código QR con estilo

¿Cómo generar códigos QR en ASP.NET Core?

La integración de la generación de códigos QR en ASP.NET Core sigue el patrón Modelo Vista Controlador. He aquí una implementación de la clase HomeController:

using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;
namespace Examples
{
    public class HomeController : Controller
    {
        public IActionResult GenerateQR(string content)
        {
            QrCode myQr = QrWriter.Write(content);
            AnyBitmap qrImage = myQr.Save();
            byte[] imageBytes = qrImage.ExportBytes();
            return File(imageBytes, "image/png");
        }
    }
}
using IronQr;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;
namespace Examples
{
    public class HomeController : Controller
    {
        public IActionResult GenerateQR(string content)
        {
            QrCode myQr = QrWriter.Write(content);
            AnyBitmap qrImage = myQr.Save();
            byte[] imageBytes = qrImage.ExportBytes();
            return File(imageBytes, "image/png");
        }
    }
}
$vbLabelText   $csharpLabel

Este endpoint acepta datos de código QR como parámetro y devuelve directamente la imagen PNG generada. El enfoque funciona a la perfección con proyectos ASP.NET Core Web API y vistas Razor.

¿Cómo se codifica el texto Unicode japonés?

IronQR admite la codificación de texto Unicode japonés a través del modo Kanji, que codifica eficazmente el texto Unicode japonés utilizando menos segmentos de datos que la codificación estándar:

using IronQr;
using IronSoftware.Drawing;
// Generate QR that encodes Japanese Unicode text
QrCode japaneseQr = QrWriter.Write("こんにちは世界");
AnyBitmap qrImage = japaneseQr.Save();
qrImage.SaveAs("japanese-qr.png");
using IronQr;
using IronSoftware.Drawing;
// Generate QR that encodes Japanese Unicode text
QrCode japaneseQr = QrWriter.Write("こんにちは世界");
AnyBitmap qrImage = japaneseQr.Save();
qrImage.SaveAs("japanese-qr.png");
$vbLabelText   $csharpLabel

Resultado

QR Code Generator .NET Core: Cree y lea códigos de respuesta rápida en C#: Imagen 4 - Código QR codificado con texto Unicode japonés

La biblioteca selecciona automáticamente el modo Kanji cuando detecta caracteres japoneses, lo que optimiza la capacidad de datos del código QR sin necesidad de operación manual ni configuración manual de los segmentos de datos.

¿Cómo leer códigos QR con aprendizaje automático?

IronQR se distingue por su lector QR basado en aprendizaje automático. El modelo ML alcanza una precisión del 99,99% incluso leyendo códigos QR desde ángulos o imágenes parcialmente oscurecidas:

using IronQr;
using IronSoftware.Drawing;
// Load image containing QR code
var inputBmp = AnyBitmap.FromFile("scanned-document.png");
QrImageInput imageInput = new QrImageInput(inputBmp);
// Read with ML-powered detection
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);
foreach (var result in results)
{
    Console.WriteLine($"Found: {result.Value}");
}
using IronQr;
using IronSoftware.Drawing;
// Load image containing QR code
var inputBmp = AnyBitmap.FromFile("scanned-document.png");
QrImageInput imageInput = new QrImageInput(inputBmp);
// Read with ML-powered detection
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);
foreach (var result in results)
{
    Console.WriteLine($"Found: {result.Value}");
}
$vbLabelText   $csharpLabel

Salida de lectura de código QR

QR Code Generator .NET Core: Cree y lea códigos de respuesta rápida en C#: Imagen 5 - Lectura de datos desde código QR

Esta capacidad hace que IronQR sea ideal para el procesamiento de documentos y la gestión de inventarios.

¿Cómo funciona el soporte multiplataforma?

A diferencia de las soluciones que dependen de System.Drawing.Common (obsoleto para el uso multiplataforma en .NET 6+), IronQR utiliza IronSoftware.Drawing para verdaderos proyectos multiplataforma. Su código se ejecuta de forma coherente en Windows, macOS, Linux, iOS y Android. Para proyectos multiplataforma, las alternativas SkiaSharp son innecesarias: IronQR gestiona la abstracción de plataformas internamente.

Conclusión

IronQR proporciona una solución completa para todas las necesidades del generador de códigos QR en .NET Core. Al gestionar automáticamente los generadores de cargas útiles complejas y el ensamblaje de módulos sin procesar y datos QrCodeData, simplifica el ciclo de desarrollo. Tanto si necesita una alternativa sencilla a las bibliotecas de código abierto .NET como un sistema robusto con funciones avanzadas opcionales, la arquitectura multiplataforma de IronQR garantiza un funcionamiento fiable.

¿Listo para implementar códigos QR en tu proyecto? Inicie su prueba gratuita o explore las opciones de licencia para desbloquear todo el potencial de IronQR. Visite la documentación de la API para obtener más ejemplos de código.

Preguntas Frecuentes

¿Cómo puedo generar códigos QR en .NET Core utilizando IronQR?

Puede generar códigos QR en .NET Core utilizando IronQR, que ofrece una biblioteca fácil de usar que permite la creación básica de códigos QR, así como funciones avanzadas de personalización.

¿Qué opciones de personalización están disponibles con IronQR para la generación de códigos QR?

IronQR ofrece varias opciones de personalización, incluida la configuración de los niveles de corrección de errores y la adición de logotipos a los códigos QR, lo que garantiza que cumplan sus requisitos específicos.

¿Puede IronQR gestionar la generación de códigos QR en aplicaciones web ASP.NET Core?

Sí, IronQR es totalmente compatible con las aplicaciones web ASP.NET Core, lo que permite a los desarrolladores integrar la generación de códigos QR sin problemas en sus proyectos.

¿Es posible leer códigos QR con IronQR en .NET Core?

Por supuesto, IronQR está diseñado para leer códigos QR con gran precisión, aprovechando la tecnología de aprendizaje automático para garantizar una detección y extracción de datos precisas.

¿Qué hace que IronQR sea adecuado para los desarrolladores que buscan un generador de códigos QR?

IronQR ofrece un equilibrio entre facilidad de uso y funciones avanzadas, por lo que es una opción ideal para los desarrolladores que necesitan una biblioteca de códigos QR versátil y fiable.

¿Existen funciones avanzadas para el procesamiento de códigos QR en IronQR?

Sí, IronQR incluye funciones avanzadas como la configuración de la corrección de errores, la adición de elementos de marca y el manejo de varios formatos de códigos QR.

¿Cómo garantiza IronQR la precisión de la lectura de códigos QR?

IronQR utiliza algoritmos de aprendizaje automático para mejorar la precisión de la lectura de códigos QR, garantizando una captura de datos fiable incluso en condiciones difíciles.

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