Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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á desarrollando una aplicación ASP.NET MVC y desea incorporar funciones 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 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.
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:
Abre Microsoft Visual Studio 2022.
En la página de inicio, haga clic en "Crear un nuevo proyecto" o vaya a "Archivo" > "Nuevo" > "Proyecto" en el menú superior.
En la ventana "Crear un nuevo proyecto", verás diferentes plantillas de proyecto entre las que elegir. Elija la plantilla de proyecto "ASP.NET Core web app(Modelo vista controlador)" y haga clic en "Siguiente".
Introduzca un nombre y una ubicación para su proyecto. Elige una ubicación adecuada en tu ordenador para guardar los archivos del proyecto.
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
Personalice cualquier configuración adicional del proyecto, como las opciones de autenticación o las carpetas del proyecto, en función de sus necesidades.
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.
Ahora, necesitamos instalar Iron Barcode Library en nuestra aplicación.
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.
Ahora, vamos a escribir un código para crear códigos QR.
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
En su proyecto ASP.NET MVC, cree un nuevo controlador llamado QRCodeController. Para ello, haz clic con el botón derecho del ratón en la carpeta Controladores de la estructura de tu proyecto, selecciona "Añadir" y, a continuación, "Controlador". De las opciones disponibles, seleccione "Controlador MVC - Vacío".
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
Este código configura un controlador que puede generar códigos QR. Cuando se llama a la acción CreateQRCode
, ésta 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:
IWebHostEnvironment
para acceder al entorno de alojamiento web.CreateQRCode
devuelve una vista.CreateQRCode
con el atributo[HttpPost] toma un parámetro QRCodeModel
, que contiene el texto del código QR.QRCodeWriter
de la librería Iron Barcode.GeneratedQRCode
en la ruta raíz de la web.GeneratedQRCode
no existe, se crea.ViewBag.QrCodeUri
para ser utilizada en la vista.Ahora, para añadir una nueva vista, haz click con el botón derecho en el método de acción CreateQRCode
de la clase QrCodeController
. Seleccione "Añadir vista" y, a continuación, "Vista de la maquinilla de afeitar".
Aparecerá una nueva ventana como la que se muestra a continuación.
Escriba el nombre de la vista, seleccione la plantilla "Create", y seleccione nuestra recién creada clase de modelo 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
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}")
Esto cambiará la ruta por defecto de HomeController
a nuestro controlador QrCode
.
Ahora, compila y ejecuta el proyecto.
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.
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ñ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)
Ahora, ejecute el proyecto y genere el código QR.
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.
Código de barras de hierro es gratuito para uso personal, Sin embargo, para fines comerciales, usted necesita comprar sulicencia comercial que incluyeuna prueba gratuita. También puede obtener un descuento importante si adquiere unIron Suite. 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 potentes bibliotecas, entre ellas Iron Barcode,IronOCR, IronPDF, IronXLyIron Webscrapper que permiten a los desarrolladores trabajar sin problemas con códigos de barras, reconocimiento óptico de caracteres, procesamiento de PDF, Excel y archivos CSV. Obtendrá los cinco productos por el precio de dos si opta por adquirir la Iron Suite completa.
9 productos API .NET para sus documentos de oficina