USO DE IRONBARCODE

Cómo generar códigos QR en ASP.NET MVC

Introducción

En el vertiginoso panorama digital actual, la generación de códigos QR se ha convertido en una herramienta esencial para compartir información de forma eficaz. Estos códigos de barras bidimensionales y compactos, capaces de almacenar una amplia gama de datos, como URL, texto, información de contacto, detalles de productos y mucho más, desempeñan un papel fundamental en la comunicación moderna. La incorporación de funciones de generación de códigos QR en su aplicación ASP.NET MVC le permite capacitar 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ás desarrollando una aplicación ASP.NET MVC y deseas 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 librería Iron Barcode.

IronBarcode

IronBarcode es una potente librería de generación y reconocimiento de códigos QR 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 ofrece un completo conjunto de herramientas y API que simplifican el proceso de creación y personalización de códigos QR, permitiendo a los desarrolladores adaptarlos a sus necesidades específicas.

IronBarcode ofrece una amplia compatibilidad con varios tipos de códigos de barras, incluidos los códigos QR, lo que lo convierte en la opción ideal para proyectos que requieren capacidades de generación de códigos QR. Ofrece a los desarrolladores flexibilidad para especificar los datos que deben codificarse, 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 garantiza la generación de códigos de barras de alta calidad con un control preciso de cada aspecto de la apariencia del código QR.

Además de la generación de códigos QR, IronBarcode también incluye sólidas funciones de lectura y descodificación de códigos de barras. Admite el escaneado y la extracción de datos de códigos QR, lo que permite a las aplicaciones procesar la información codificada en ellos. Esta funcionalidad es beneficiosa para escenarios en los que es necesario el escaneado de códigos de barras y la extracción de datos, como la gestión de inventarios, los sistemas de venta de entradas y las aplicaciones móviles.

Ahora, vamos a crear 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 implementación, asegurémonos de que su proyecto ASP.NET MVC está configurado y listo para funcionar. Tanto si está comenzando un nuevo proyecto como si está trabajando con uno ya 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.

Paso para crear un nuevo proyecto es como:

  1. Abre Microsoft Visual Studio 2022.

  2. En la página de inicio, haga clic en "Crear un nuevo proyecto" o vaya a "Archivo" > "Nuevo" > "Proyecto" en el menú superior.

  3. En la ventana "Crear un nuevo proyecto", verás diferentes plantillas de proyecto entre las que elegir. Elige la plantilla de proyecto "Aplicación web ASP.NET Core (Modelo vista controlador)" y haz clic en "Siguiente".

  4. Introduzca un nombre y una ubicación para su proyecto. Elige una ubicación adecuada en tu ordenador para guardar los archivos del proyecto.

  5. Seleccione la versión de framework deseada. Visual Studio suele sugerir la última versión estable, pero puedes elegir una diferente si es necesario. He elegido .NET 7

  6. Personalice cualquier configuración adicional del proyecto, como las opciones de autenticación o las carpetas del proyecto, en función de sus necesidades.

  7. Haga clic en "Crear" para crear el proyecto.

    Visual Studio generará entonces los archivos del proyecto y abrirá el explorador de soluciones, donde podrás ver la estructura del proyecto y empezar a trabajar en tu código.

    Cómo generar códigos QR en ASP.NET MVC: Figura 1

    Ahora, necesitamos instalar Iron Barcode Library en nuestra aplicación.

Instalar código de barras de hierro

Para empezar, abra la consola del gestor de paquetes NuGet en Visual Studio y ejecute el siguiente comando:

Install-Package BarCode

Este comando instalará la librería Iron Barcode y añadirá las referencias necesarias a su proyecto.

Cómo generar códigos QR en ASP.NET MVC: Figura 2

Ahora, vamos a escribir un código para crear códigos QR.

Crear modelo QrCode

Cree una Clase Modelo dentro de la carpeta Modelo, y escriba el siguiente código.

public class QRCodeModel
{
    [Display(Name = "Enter QR Code Text")]
    public string QRCodeText
    {
        get;
        set;
    }
}
public class QRCodeModel
{
    [Display(Name = "Enter QR Code Text")]
    public string QRCodeText
    {
        get;
        set;
    }
}
Public Class QRCodeModel
	<Display(Name := "Enter QR Code Text")>
	Public Property QRCodeText() As String
End Class
$vbLabelText   $csharpLabel

Crear controlador de código QR

En su proyecto ASP.NET MVC, cree un nuevo controlador llamado QRCodeController. Para hacer esto, haz clic derecho en la carpeta Controllers en la estructura de tu proyecto, selecciona "Agregar" y luego elige "Controller". De las opciones disponibles, selecciona "MVC Controller - Empty".

Escriba el siguiente código en QrCodeController:


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(_environment.WebRootPath, "GeneratedQRCode/qrcode.png");
            barcode.SaveAsPng(filePath);
            string fileName = Path.GetFileName(filePath); // qr code file
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName;
            ViewBag.QrCodeUri = imageUrl;
        }
        catch (Exception)
        {
            throw;
        }
        return View();
    }
}

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(_environment.WebRootPath, "GeneratedQRCode/qrcode.png");
            barcode.SaveAsPng(filePath);
            string fileName = Path.GetFileName(filePath); // qr code file
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/GeneratedQRCode/" + fileName;
            ViewBag.QrCodeUri = imageUrl;
        }
        catch (Exception)
        {
            throw;
        }
        return View();
    }
}
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(_environment.WebRootPath, "GeneratedQRCode/qrcode.png")
			barcode.SaveAsPng(filePath)
			Dim fileName As String = System.IO.Path.GetFileName(filePath) ' qr code file
			Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}" & "/GeneratedQRCode/" & fileName
			ViewBag.QrCodeUri = imageUrl
		Catch e1 As Exception
			Throw
		End Try
		Return View()
	End Function
End Class
$vbLabelText   $csharpLabel

Este 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 mostrarla. Más detalles:

  • El controlador tiene un constructor que toma un parámetro IWebHostEnvironment para acceder al entorno de alojamiento web.
  • La acción CreateQRCode devuelve una vista.
  • La acción CreateQRCode con el atributo [HttpPost] toma un parámetro QRCodeModel, que contiene el texto del código QR.
  • Dentro de la acción, se genera un código QR utilizando la clase QRCodeWriter de la biblioteca Iron Barcode.
  • El código QR generado se guarda como un archivo de imagen PNG en una carpeta llamada GeneratedQRCode en la ruta raíz del sitio web.
  • Si la carpeta GeneratedQRCode no existe, se crea.
  • Se generan la ruta del archivo y la URL de la imagen del código QR guardada.
  • La URL de la imagen del código QR se almacena en la propiedad ViewBag.QrCodeUri para ser utilizada en la vista.
  • Se lanzan todas las excepciones que se producen durante el proceso.

Agregar vista CreateQRCode

Ahora, para agregar una nueva vista, haz clic derecho en el método de acción CreateQRCode en la clase QrCodeController. Seleccione "Añadir vista" y, a continuación, "Vista de la maquinilla de afeitar".

Cómo generar códigos QR en ASP.NET MVC: Figura 3

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

Cómo Generar Códigos QR en ASP.NET MVC: Figura 4

Escribe el nombre de la vista, selecciona la plantilla "Create" y selecciona nuestra nueva clase de modelo creada QrCodeModel. Haga clic en el botón Añadir. Se creará la vista. Sustituye tu vista por el siguiente código.


@model QRCodeMVC.Models.QRCodeModel

@{
    ViewData ["Title"] = "CreateQRCode";
}

<h1>Create QRCode in ASP.NET MVC</h1>

<hr />
<div class="row">
    <div class="col-md-4">
        <form asp-action="CreateQRCodeView">
            <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">
                <img src="@ViewBag.QrCodeUri" class="img-thumbnail" />
            </div>
        </form>
    </div>
</div>

@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}

@model QRCodeMVC.Models.QRCodeModel

@{
    ViewData ["Title"] = "CreateQRCode";
}

<h1>Create QRCode in ASP.NET MVC</h1>

<hr />
<div class="row">
    <div class="col-md-4">
        <form asp-action="CreateQRCodeView">
            <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">
                <img src="@ViewBag.QrCodeUri" class="img-thumbnail" />
            </div>
        </form>
    </div>
</div>

@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
model ReadOnly Property () As QRCodeMVC.Models.QRCodeModel
	ViewData ("Title") = "CreateQRCode"
End Property

'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" /> </div> </form> </div> </div> @section Scripts
"@ViewBag.QrCodeUri" class="img-thumbnail" /> </div> </form> </div> </div> section Scripts
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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"> <img src="@ViewBag.QrCodeUri" class
"form-group"> <img src="@ViewBag.QrCodeUri" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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"> <img src
"btn btn-primary" /> </div> <div class="form-group"> <img src
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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
"Create" class="btn btn-primary" /> </div> <div class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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
"submit" value="Create" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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
"form-group"> <input type="submit" value
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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
"text-danger"></span> </div> <div class="form-group"> <input type
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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
"QRCodeText" class="text-danger"></span> </div> <div class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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
"form-control" /> <span asp-validation-for="QRCodeText" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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="form-control" /> <span asp-validation-for
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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
"control-label"></label> <input asp-for="QRCodeText" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <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="control-label"></label> <input asp-for
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for="QRCodeText" class
"form-group"> <label asp-for="QRCodeText" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> <label asp-for
"text-danger"></div> <div class="form-group"> <label asp-for
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class
"ModelOnly" class="text-danger"></div> <div class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <div asp-validation-summary="ModelOnly" class
"CreateQRCodeView"> <div asp-validation-summary="ModelOnly" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action="CreateQRCodeView"> <div asp-validation-summary
"col-md-4"> <form asp-action="CreateQRCodeView"> <div asp-validation-summary
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Friend <h1> Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class="col-md-4"> <form asp-action
"row"> <div class="col-md-4"> <form asp-action
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private Friend (Of h1) Create QRCode in ASP.NET MVC</h1> <hr /> <div Class="row"> <div class
	@
	If True Then
		Await Html.RenderPartialAsync("_ValidationScriptsPartial")
	End If
End Class
$vbLabelText   $csharpLabel

Ahora, vayamos a la clase program.cs y cambiemos la Ruta del Controlador por defecto.

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=QrCode}/{action=CreateQRCode}"
);
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=QrCode}/{action=CreateQRCode}"
);
app.MapControllerRoute(name:= "default", pattern:= "{controller=QrCode}/{action=CreateQRCode}")
$vbLabelText   $csharpLabel

Esto cambiará la ruta predeterminada de HomeController a nuestro controlador QrCode.

Ahora, compila y ejecuta el proyecto.

Salida

Cómo Generar Códigos QR en ASP.NET MVC: Figura 5

Introduzca el texto en el cuadro de texto y haga clic en el botón Crear. El código Qr se creará y se mostrará en la pantalla como se muestra a continuación.

Cómo Generar Códigos QR en ASP.NET MVC: Figura 6 - Código QR en ASP.NET

Ahora, vamos a añadir estilo visual a nuestro código de barras mediante la adición de texto de anotación, y el valor del código QR, y cambiar el color del código QR.

Añadir estilo visual en código QR

Añade 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(Color.White);
barcode.ChangeBarCodeColor(Color.MediumVioletRed);
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(Color.White);
barcode.ChangeBarCodeColor(Color.MediumVioletRed);
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF")
barcode.AddBarcodeValueTextBelowBarcode()
barcode.ChangeBackgroundColor(Color.White)
barcode.ChangeBarCodeColor(Color.MediumVioletRed)
$vbLabelText   $csharpLabel

Ahora, ejecute el proyecto y genere el código QR.

Cómo Generar Códigos QR en ASP.NET MVC: Figura 7 - Generar Código QR

Conclusión

En ASP.NET MVC, la integración de IronBarcode es sencilla. Ofrece una interfaz fácil de usar, lo que facilita el trabajo con códigos QR. Aprovechando IronBarcode, puede mejorar su aplicación añadiendo funcionalidad de código QR, permitiendo a los usuarios compartir y acceder a la información cómodamente. IronBarcode es una valiosa librería que simplifica el proceso de generación y lectura de códigos QR en ASP.NET MVC. Permite a los desarrolladores crear aplicaciones dinámicas que utilizan la potencia de los códigos QR para compartir y recuperar datos de forma eficaz.

Iron Barcode es gratuito para uso personal. Sin embargo, para fines comerciales, necesitas comprar su licencia comercial que viene con una prueba gratuita. También puede obtener un descuento significativo si adquiere un Iron Suite completo. Iron Suite es una completa colección de componentes de software .NET diseñados para simplificar las tareas de desarrollo y mejorar la funcionalidad. Ofrece cinco bibliotecas potentes, incluyendo Iron Barcode, IronOCR, IronPDF, IronXL, y Iron Webscrapper que permiten a los desarrolladores trabajar con códigos de barras, reconocimiento óptico de caracteres, procesamiento de PDF, archivos Excel y CSV de manera fluida. Obtendrá los cinco productos por el precio de dos si opta por adquirir la Iron Suite completa.

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 en las pruebas de productos, el desarrollo de productos y la investigación, Jordi añade un inmenso valor a la mejora continua de los productos. La variada experiencia le mantiene desafiado y comprometido, y dice que es uno de sus aspectos favoritos de trabajar con Iron Software. Jordi creció en Miami, Florida, y estudió Informática y Estadística en la Universidad de Florida.
< ANTERIOR
Cómo generar códigos de barras en VB.NET
SIGUIENTE >
Cómo generar un código QR en Blazor