Cómo Generar Códigos QR en ASP.NET MVC
En el panorama digital acelerado de hoy en día, la generación de códigos QR se ha convertido en una herramienta esencial para compartir información de manera eficiente. Estos compactos códigos de barras bidimensionales, capaces de almacenar una amplia gama de datos, incluidos URLs, texto, información de contacto, detalles de productos y mucho más, desempeñan un papel fundamental en la comunicación moderna. Incorporar capacidades de generación de códigos QR en su aplicación ASP.NET MVC le permite empoderar a los usuarios generando códigos QR sin problemas y mejorando su experiencia, agilizando las interacciones y facilitando el intercambio de información sin esfuerzo.
Si está desarrollando una aplicación ASP.NET MVC y desea incorporar capacidades de generación de códigos QR, IronBarcode es una excelente biblioteca que simplifica el proceso. En este artículo, exploraremos cómo generar códigos QR en ASP.NET MVC utilizando la biblioteca Iron Barcode.
IronBarcode
IronBarcode es una potente biblioteca de generación y reconocimiento de códigos QR con muchas funciones para aplicaciones .NET. Con IronBarcode, los desarrolladores pueden integrar fácilmente la funcionalidad de códigos de barras y códigos QR en sus proyectos ASP.NET MVC, incluida la capacidad de generar códigos QR. La biblioteca proporciona un conjunto completo de herramientas y APIs que simplifican el proceso de creación y personalización de códigos QR, permitiendo a los desarrolladores adaptarlos a sus requerimientos específicos.
IronBarcode ofrece un amplio soporte para varios tipos de códigos de barras, incluidos los códigos QR, lo que lo convierte en una elección ideal para proyectos que requieren capacidades de generación de códigos QR. Proporciona a los desarrolladores la flexibilidad de especificar los datos a codificar, controlar el tamaño y la resolución de los códigos QR generados, e incluso añadir elementos de estilo visual como colores y logotipos. La biblioteca asegura una generación de códigos de barras de alta calidad con control preciso sobre cada aspecto de la apariencia del código QR.
Más allá de la generación de códigos QR, IronBarcode también incluye características robustas para la lectura y decodificación de códigos de barras. Soporta el escaneo y la extracción de datos de códigos QR, permitiendo que las aplicaciones procesen información codificada dentro de ellos. Esta funcionalidad es beneficiosa para escenarios donde el escaneo de códigos de barras y la extracción de datos son necesarios, como la gestión de inventarios, sistemas de boletos y aplicaciones móviles.
Ahora, creemos un proyecto para generar un código QR en la aplicación web ASP.NET Core MVC.
Configuración del proyecto
Antes de profundizar en los detalles de la implementación, asegurémonos de que su proyecto ASP.NET MVC esté configurado y listo para comenzar. Ya sea que esté comenzando un nuevo proyecto o trabajando con uno existente, los pasos que se describen a continuación le guiarán a través del proceso de integración de la biblioteca Iron Barcode en su aplicación. En mi caso, he creado un nuevo proyecto.
Los pasos para crear un nuevo proyecto son los siguientes:
- Abra Microsoft Visual Studio 2022.
- En la página de inicio, haga clic en "Crear un nuevo proyecto" o vaya a "Archivo" > "Nuevo" > "Proyecto" desde el menú superior.
- En la ventana "Crear un nuevo proyecto", verá diferentes plantillas de proyecto para elegir. Elija la plantilla de proyecto "Aplicación web ASP.NET Core (Modelo-vista-controlador)" y haga clic en "Siguiente".
- Ingrese un nombre y una ubicación para su proyecto. Elija una ubicación adecuada en su computadora para guardar los archivos del proyecto.
- Seleccione la versión de marco deseada. Visual Studio generalmente sugiere la última versión estable, pero puede elegir una diferente si es necesario. He elegido .NET 7.
- Personalice cualquier configuración adicional del proyecto, como opciones de autenticación o carpetas del proyecto, según sus requisitos.
- Haga clic en "Crear" para crear el proyecto.
Visual Studio generará los archivos del proyecto y abrirá el explorador de soluciones, donde podrá ver la estructura del proyecto y comenzar a trabajar en su código.

Ahora, necesitamos instalar la Biblioteca Iron Barcode en nuestra aplicación.
Instalar Iron Barcode
Para comenzar, abra la Consola del Administrador de Paquetes en Visual Studio y ejecute el siguiente comando:
Install-Package IronBarCode
Este comando instalará la biblioteca Iron Barcode y agregará las referencias necesarias a su proyecto.

Ahora, escribamos algo de código para crear códigos QR.
Crear QRCodeModel
Cree una clase de modelo dentro de la carpeta Models y escriba el siguiente código:
using System.ComponentModel.DataAnnotations;
public class QRCodeModel
{
[Display(Name = "Enter QR Code Text")]
public string QRCodeText { get; set; }
}using System.ComponentModel.DataAnnotations;
public class QRCodeModel
{
[Display(Name = "Enter QR Code Text")]
public string QRCodeText { get; set; }
}Imports System.ComponentModel.DataAnnotations
Public Class QRCodeModel
<Display(Name := "Enter QR Code Text")>
Public Property QRCodeText() As String
End ClassCrear controlador de código QR
En su proyecto ASP.NET MVC, cree un nuevo controlador llamado QrCodeController. Para hacer esto, haga clic derecho en la carpeta Controllers en la estructura de su proyecto, seleccione "Agregar" y luego elija "Controlador". De las opciones disponibles, seleccione "Controlador MVC - Vacío".
Escriba el siguiente código en QrCodeController:
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;
public class QrCodeController : Controller
{
private readonly IWebHostEnvironment _environment;
public QrCodeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateQRCode()
{
return View();
}
[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
try
{
// Creating QR Code
GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = Path.Combine(path, "qrcode.png");
barcode.SaveAsPng(filePath);
string fileName = Path.GetFileName(filePath);
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception ex)
{
// Handle exceptions
// Log the exception details here for troubleshooting and debugging.
throw;
}
return View();
}
}using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;
public class QrCodeController : Controller
{
private readonly IWebHostEnvironment _environment;
public QrCodeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateQRCode()
{
return View();
}
[HttpPost]
public IActionResult CreateQRCode(QRCodeModel generateQRCode)
{
try
{
// Creating QR Code
GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string filePath = Path.Combine(path, "qrcode.png");
barcode.SaveAsPng(filePath);
string fileName = Path.GetFileName(filePath);
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception ex)
{
// Handle exceptions
// Log the exception details here for troubleshooting and debugging.
throw;
}
return View();
}
}Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System.IO
Public Class QrCodeController
Inherits Controller
Private ReadOnly _environment As IWebHostEnvironment
Public Sub New(ByVal environment As IWebHostEnvironment)
_environment = environment
End Sub
Public Function CreateQRCode() As IActionResult
Return View()
End Function
<HttpPost>
Public Function CreateQRCode(ByVal generateQRCode As QRCodeModel) As IActionResult
Try
' Creating QR Code
Dim barcode As GeneratedBarcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText)
Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedQRCode")
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
Dim filePath As String = System.IO.Path.Combine(path, "qrcode.png")
barcode.SaveAsPng(filePath)
Dim fileName As String = System.IO.Path.GetFileName(filePath)
Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}/GeneratedQRCode/{fileName}"
ViewBag.QrCodeUri = imageUrl
Catch ex As Exception
' Handle exceptions
' Log the exception details here for troubleshooting and debugging.
Throw
End Try
Return View()
End Function
End ClassEste código configura un controlador que puede generar códigos QR. Cuando se llama a la acción CreateQRCode, toma el texto para el código QR, genera la imagen del código QR, la guarda y proporciona la URL de la imagen en la vista para su visualización. Más detalles son los siguientes:
- El controlador tiene un constructor que toma un parámetro
IWebHostEnvironmentpara acceder al entorno de alojamiento web. - La acción
CreateQRCodedevuelve una vista. - La acción
CreateQRCodecon el atributo[HttpPost]toma un parámetroQRCodeModel, que contiene el texto del código QR. - Dentro de la acción, se genera un código QR utilizando la clase
QRCodeWriterde la biblioteca Iron Barcode. - El código QR generado se guarda como un archivo de imagen PNG en una carpeta llamada
GeneratedQRCodeen la ruta raíz de la web. - Si la carpeta
GeneratedQRCodeno existe, se crea. - Se generan la ruta del archivo y la URL para la imagen del código QR guardado.
- La URL de la imagen del código QR se almacena en la propiedad
ViewBag.QrCodeUripara ser utilizada en la vista. - Se capturan y registran las excepciones que ocurren durante el proceso.
Agregar vista CreateQRCode
Ahora, para agregar una nueva vista, haga clic derecho en el método de acción CreateQRCode en la clase QrCodeController. Seleccione "Agregar Vista", luego seleccione "Vista Razor" y haga clic en el botón "Agregar".

Aparecerá una nueva ventana como se muestra a continuación.

Escriba el nombre de la vista, seleccione la plantilla "Crear" y seleccione nuestra clase de modelo recién creada QRCodeModel. Haga clic en el botón Agregar. La vista se creará. Reemplace su vista con el código a continuación.
@model QRCodeModel
@{
ViewData["Title"] = "CreateQRCode";
}
<h1>Create QRCode in ASP.NET MVC</h1>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="CreateQRCode">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="QRCodeText" class="control-label"></label>
<input asp-for="QRCodeText" class="form-control" />
<span asp-validation-for="QRCodeText" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
<div class="form-group">
@if (ViewBag.QrCodeUri != null)
{
<img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Generated QR Code" />
}
</div>
</form>
</div>
</div>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}Ahora, avancemos a la clase Program.cs y cambiemos la ruta del controlador predeterminada.
app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);app.MapControllerRoute(name:= "default", pattern:= "{controller=QrCode}/{action=CreateQRCode}/{id?}")Esto cambiará la ruta predeterminada de HomeController a nuestro QrCodeController.
Ahora, compile y ejecute el proyecto.
Resultado

Ingrese texto en el cuadro de texto y haga clic en el botón crear. Se creará un código QR y se mostrará en la pantalla como se muestra a continuación.

Ahora, añadamos estilo visual a nuestro código de barras añadiendo texto de anotación, valor del código QR y cambiando el color del código QR.
Agregar estilo visual al código QR
Agregue la siguiente línea de código dentro del método de acción CreateQRCode.
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF")
barcode.AddBarcodeValueTextBelowBarcode()
barcode.ChangeBackgroundColor(System.Drawing.Color.White)
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed)Ahora, ejecute el proyecto y genere el Código QR.

Conclusión
En ASP.NET MVC, integrar IronBarcode es sencillo. Proporciona una interfaz fácil de usar, lo que facilita el trabajo con códigos QR. Al aprovechar IronBarcode, puede mejorar su aplicación al añadir la funcionalidad de códigos QR, permitiendo a los usuarios compartir y acceder a información de manera conveniente. IronBarcode es una biblioteca valiosa que simplifica el proceso de generación de códigos QR y la lectura de códigos QR en ASP.NET MVC. Empodera a los desarrolladores para crear aplicaciones dinámicas que utilizan el poder de los códigos QR para compartir y recuperar datos de manera eficiente.
Iron Barcode es gratuito para uso personal. Sin embargo, para fines comerciales, necesita comprar su licencia comercial, que viene con una prueba gratuita. También puede obtener un descuento significativo si adquiere la Iron Suite completa. Iron Suite es una colección completa de componentes de software .NET diseñados para simplificar tareas de desarrollo y mejorar la funcionalidad. Ofrece cinco potentes bibliotecas, incluyendo IronBarcode, IronOCR, IronPDF, IronXL y IronWebScraper que permiten a los desarrolladores trabajar con códigos de barras, reconocimiento óptico de caracteres, procesamiento de PDF, Excel y archivos CSV de manera fluida. Usted obtendrá los cinco productos por el precio de dos si opta por comprar la Iron Suite completa.
Preguntas Frecuentes
¿Cómo creo un código QR en ASP.NET MVC?
Puede crear un código QR en ASP.NET MVC configurando un proyecto en Visual Studio, instalando la biblioteca IronBarcode vía NuGet con el comando Install-Package IronBarCode, y utilizando las clases de IronBarcode para generar un código QR dentro de su controlador y mostrarlo en una vista.
¿Puedo personalizar la apariencia de los códigos QR en mi aplicación?
Sí, IronBarcode le permite personalizar los códigos QR ajustando el tamaño, la resolución, los colores y añadiendo logotipos o anotaciones, lo que puede mejorar el atractivo visual y la funcionalidad de sus códigos QR.
¿Cómo muestro un código QR en una vista de ASP.NET MVC?
Después de generar un código QR con IronBarcode, puede mostrarlo en una vista de ASP.NET MVC almacenando la URL de la imagen en el ViewBag y utilizando una etiqueta HTML <img> dentro de su vista Razor para renderizar la imagen del código QR.
¿Cómo puedo decodificar códigos QR con una aplicación .NET?
Puede decodificar códigos QR en una aplicación .NET usando IronBarcode, que proporciona funcionalidad para escanear y extraer datos de varios formatos de código de barras, incluidos los códigos QR, haciéndola adecuada para aplicaciones como gestión de inventarios y verificación de boletos.
¿Existe una versión gratuita de la biblioteca IronBarcode?
IronBarcode es gratuito para uso personal, lo que permite a los desarrolladores experimentar y probar sus características. Para uso comercial, se requiere una licencia, la cual se puede adquirir y viene con una prueba gratuita para evaluación.
¿Cuáles son algunas aplicaciones de los códigos QR en proyectos ASP.NET MVC?
Los códigos QR en proyectos ASP.NET MVC pueden utilizarse para acceso rápido a sitios web, pagos sin contacto, gestión de entradas, gestión de inventario e integración de aplicaciones móviles, mejorando la interacción del usuario y la difusión de información.
¿Cómo configuro un proyecto ASP.NET MVC para la generación de códigos QR?
Para configurar un proyecto ASP.NET MVC para la generación de códigos QR, utilice Visual Studio para crear una nueva aplicación web ASP.NET Core con la plantilla modelo-vista-controlador, luego instale la biblioteca IronBarcode para comenzar a generar códigos QR en su aplicación.
¿Qué bibliotecas están incluidas en el Iron Suite?
El Iron Suite incluye varias bibliotecas .NET como Iron Barcode, Iron OCR, Iron PDF, Iron XL e Iron Webscraper, cada una ofreciendo funcionalidades especializadas para tareas como generación de códigos de barras, reconocimiento óptico de caracteres, manipulación de PDF, procesamiento de Excel y scraping web.






