
Cómo Generar y Mostrar Dinámicamente Códigos de Barras en ASP.NET MVC
ASP.NET MVC es un popular marco de desarrollo web que permite a los desarrolladores crear aplicaciones web robustas y dinámicas. Un requisito común en las aplicaciones web es la capacidad de generar y mostrar imágenes de código de barras. Las imágenes de código de barras se utilizan para representar datos en un formato legible por máquina y pueden ser leídas por un escáner de códigos de barras.
La generación dinámica y muestra de imágenes de códigos de barras en ASP.NET MVC se puede lograr usando la biblioteca de C# líder del mercado, IronBarcode. Esta biblioteca proporciona APIs que permiten a los desarrolladores generar fácilmente imágenes de código de barras en varias plataformas en diferentes formatos como Code 39, Code 128 y QR Code. Sin depender de System.Drawing.Common ni de la API .NET Graphics, que son específicas de Windows desde .NET 6, IronBarcode permite funcionalidades multiplataforma y ofrece más compatibilidad de origen.
IronBarcode
IronBarcode es una popular biblioteca de .NET para códigos de barras que ofrece una amplia gama de características para crear, leer y manipular imágenes de códigos de barras en aplicaciones .NET. La biblioteca es desarrollada y mantenida por Iron Software, una empresa de desarrollo de software que se especializa en componentes y bibliotecas de .NET. IronBarcode proporciona soporte para una amplia gama de formatos de códigos de barras, incluyendo Code 128, Code 39, QR Code, Data Matrix y PDF417. La biblioteca también ofrece características para generar códigos de barras con dimensiones personalizadas, colores y fuentes, y para agregar texto y logotipos a las imágenes de códigos de barras.
Además de la generación de códigos de barras, IronBarcode también incluye características para leer y decodificar imágenes de códigos de barras. La biblioteca puede leer y decodificar códigos de barras desde imágenes, documentos PDF y flujos de cámara en vivo. Soporta tanto formatos de código de barras 1D como 2D y puede incluso reconocer códigos de barras que están parcialmente ocultos o dañados.
Requisitos previos
Antes de trabajar con IronBarcode en una aplicación .NET, hay algunos requisitos previos que deben satisfacerse.
- .NET Framework o .NET Core: IronBarcode está diseñado para trabajar con ambos, .NET Framework y .NET Core. Asegúrese de que su entorno de desarrollo tenga instalada la versión adecuada de .NET.
- Visual Studio: IronBarcode puede integrarse con Visual Studio para facilitar el desarrollo y las pruebas. Se pueden usar las ediciones Visual Studio Community, Professional o Enterprise. Se puede descargar del sitio web de Visual Studio.
- Biblioteca IronBarcode: Descargue e instale la biblioteca IronBarcode desde el sitio web de Iron Software o a través del administrador de paquetes NuGet. La biblioteca se puede instalar utilizando la Consola del Administrador de Paquetes NuGet ejecutando el siguiente comando:
Install-Package BarCode.
IronBarcode es gratuito para desarrollo pero debe ser licenciado para fines comerciales y de implementación. Puedes probar la prueba gratuita para probar toda su funcionalidad.
Creación de un nuevo proyecto ASP.NET MVC
Abra Visual Studio y haga clic en Crear un nuevo proyecto.

En la nueva ventana, busque y seleccione "ASP.NET MVC (Web App) Model View Controller" y haga clic en el botón Siguiente.

Ingrese el nombre del nuevo proyecto y su ubicación y haga clic en Siguiente.

Seleccione la versión de .NET que desea usar y deje todas las otras opciones tal como están y haga clic en Crear.

Se ha creado un proyecto .NET.

Instalar IronBarcode
1. Uso del Administrador de paquetes NuGet
Esta opción está disponible dentro de Visual Studio e instalará el paquete IronBarcode directamente en su solución. Vaya a herramientas y haga clic en Administrador de paquetes NuGet como se muestra.

Busque la biblioteca IronBarcode usando el cuadro de búsqueda en el Administrador de paquetes NuGet. Seleccione la opción IronBarcode de la lista de paquetes disponibles.

2. Uso de la línea de comandos de Visual Studio
En el menú de Visual Studio, vaya a Herramientas > Administrador de paquetes NuGet > Consola de administrador de paquetes.

Ingrese la siguiente línea en la pestaña de la consola del administrador de paquetes: Install-Package BarCode.
El paquete se descargará/instalará en el proyecto actual y estará listo para su uso.

Generación y visualización de imágenes de códigos de barras con IronBarcode
Ahora que nuestro entorno está configurado, podemos comenzar a escribir el código para generar una imagen de código de barras en ASP.NET MVC dinámicamente.
Primero, cree una clase en la carpeta de modelos llamada GenerateBarcodeModel.cs
using System.ComponentModel.DataAnnotations;
namespace GenerateBarcodeMVCCore6_Demo.Models
{
public class GenerateBarcodeModel
{
[Display(Name = "Enter Barcode Text")]
public string Barcode { get; set; }
}
}Imports System.ComponentModel.DataAnnotations
Namespace GenerateBarcodeMVCCore6_Demo.Models
Public Class GenerateBarcodeModel
<Display(Name := "Enter Barcode Text")>
Public Property Barcode() As String
End Class
End NamespaceCree una carpeta llamada "GeneratedBarcode" dentro de la carpeta wwwroot para almacenar las imágenes de códigos de barras generadas.

Agregue el siguiente método de acción en su clase HomeController.cs en la carpeta "controllers".
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System;
using System.Drawing;
using System.IO;
namespace YourNamespace.Controllers
{
public class HomeController : Controller
{
private readonly IWebHostEnvironment _environment;
public HomeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateBarcode()
{
return View();
}
// Handling POST operation inside this Action method
[HttpPost]
public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
{
try
{
// Create a barcode using the input text
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128);
// Adding annotation text to barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Styling the Barcode
barcode.ResizeTo(400, 120);
barcode.ChangeBarCodeColor(Color.Red);
barcode.SetMargins(10);
// Define path to save the barcode image
string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
// Save the generated barcode as a PNG file
string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");
barcode.SaveAsPng(filePath);
// Get the file name and URL for the generated barcode image
string fileName = Path.GetFileName(filePath);
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedBarcode/{fileName}";
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception)
{
throw;
}
return View();
}
}
}Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System
Imports System.Drawing
Imports System.IO
Namespace YourNamespace.Controllers
Public Class HomeController
Inherits Controller
Private ReadOnly _environment As IWebHostEnvironment
Public Sub New(ByVal environment As IWebHostEnvironment)
_environment = environment
End Sub
Public Function CreateBarcode() As IActionResult
Return View()
End Function
' Handling POST operation inside this Action method
<HttpPost>
Public Function CreateBarcode(ByVal generateBarcode As GenerateBarcodeModel) As IActionResult
Try
' Create a barcode using the input text
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128)
' Adding annotation text to barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Styling the Barcode
barcode.ResizeTo(400, 120)
barcode.ChangeBarCodeColor(Color.Red)
barcode.SetMargins(10)
' Define path to save the barcode image
Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode")
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
' Save the generated barcode as a PNG file
Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png")
barcode.SaveAsPng(filePath)
' Get the file name and URL for the generated barcode image
Dim fileName As String = System.IO.Path.GetFileName(filePath)
Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}/GeneratedBarcode/{fileName}"
ViewBag.QrCodeUri = imageUrl
Catch e1 As Exception
Throw
End Try
Return View()
End Function
End Class
End NamespaceEl método de acción en el código anterior manejará la solicitud de envío generada desde la Vista que crearemos más tarde. Con IronBarcode, puede personalizar el formato del código de barras, el elemento de la imagen, la fuente del código de barras y el elemento HTML de la imagen. Pueden requerirse bibliotecas adicionales para más personalización, como IronDrawing para instalar la fuente del código de barras. Se puede encontrar una documentación más detallada de la API aquí.
Ahora podemos crear una vista para nuestro método generador de códigos de barras.
En el archivo HomeController.cs, haga clic derecho en el método CreateBarcode y haga clic en Agregar Vista.

Seleccione Vista Razor y haga clic en agregar.

Seleccione los parámetros como se muestra en la imagen de abajo y haga clic en Agregar. Automáticamente agregará una vista para ese método.

Puede modificar el código generado para cambiar la interfaz como desee.
@model GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel
@{
ViewData["Title"] = "CreateBarcode";
}
<h1>CreateBarcode</h1>
<form asp-action="CreateBarcode" method="post">
<div>
<label asp-for="Barcode"></label>
<input asp-for="Barcode" />
<span asp-validation-for="Barcode"></span>
</div>
<button type="submit">Generate Barcode</button>
</form>
@if (ViewBag.QrCodeUri != null)
{
<div>
<img src="@ViewBag.QrCodeUri" alt="Barcode Image" />
</div>
}
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
Ahora todo está configurado, solo abra el archivo _Layout.cshtml y agregue el código para añadir la opción CreateBarcode en el navbar.
<li class="nav-item">
<a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
Ahora ejecute la aplicación, escriba texto en el campo de texto y haga clic en el botón Generar código de barras, y creará y mostrará la imagen del código de barras dinámicamente.
5.1. Salida

6. Conclusión
La generación y visualización de imágenes de códigos de barras dinámicamente en aplicaciones ASP.NET MVC se puede lograr utilizando la biblioteca IronBarcode, una poderosa biblioteca de .NET para códigos de barras que ofrece una amplia gama de características para crear, leer y manipular imágenes de códigos de barras en aplicaciones .NET. Al satisfacer requisitos previos como instalar el marco de trabajo .NET, Visual Studio, y la biblioteca IronBarcode, los desarrolladores pueden crear fácilmente proyectos ASP.NET MVC y generar y mostrar imágenes de códigos de barras en varios formatos como Code 39, Code 128 y QR Code. La biblioteca IronBarcode proporciona a los desarrolladores características para generar códigos de barras con dimensiones personalizadas, colores y fuentes, y para agregar texto y logotipos a las imágenes de códigos de barras. Además de la generación de códigos de barras, IronBarcode también incluye características para leer y decodificar imágenes de códigos de barras. Con IronBarcode, los desarrolladores pueden crear fácilmente aplicaciones web potentes y dinámicas que satisfacen sus necesidades empresariales. Para un tutorial relacionado sobre este tema, visite el siguiente enlace. Para un tutorial paso a paso sobre la generación de códigos de barras y códigos QR, consulte el siguiente enlace.

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.
Artículos Relacionados

