USO DE IRONBARCODE

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC

Actualizado 16 de mayo, 2023
Compartir:

ASP.NET MVC es un popular marco de desarrollo web que permite a los desarrolladores crear aplicaciones web robustas y dinámicas. Un requisito habitual en las aplicaciones web es la capacidad de generar y mostrar imágenes de códigos de barras. Las imágenes de códigos 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 y visualización dinámica de imágenes de códigos de barras en ASP.NET MVC se puede lograr utilizando la biblioteca de C# líder del mercado, IronBarcode. Esta biblioteca proporciona API que permiten a los desarrolladores generar fácilmente imágenes de códigos de barras en distintas plataformas y en diversos formatos, como Código 39, Código 128 y Código QR. Sin depender de System.Drawing.Common y .NET Graphics API, que son Específico de Windows de .NET 6, IronBarcode permite funcionalidades multiplataforma y permite una mayor compatibilidad de fuentes.

IronBarcode

IronBarcode es una popular biblioteca de códigos de barras .NET que proporciona una amplia gama de funciones para crear, leer y manipular imágenes de códigos de barras en aplicaciones .NET. La biblioteca está desarrollada y mantenida por Iron Software, una empresa de desarrollo de software especializada en componentes y bibliotecas .NET. IronBarcode es compatible con una amplia gama de formatos de códigos de barras, como Código 128, Código 39, Código QR, Data Matrix y PDF417. La biblioteca también ofrece funciones para generar códigos de barras con dimensiones, colores y fuentes personalizados, y para añadir 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 funciones de lectura y descodificación de imágenes de códigos de barras. La biblioteca puede leer y descodificar códigos de barras de imágenes, documentos PDF y secuencias de cámaras en directo. Es compatible con los formatos de códigos de barras 1D y 2D, e incluso puede reconocer códigos de barras parcialmente oscurecidos o dañados.

Requisitos previos

Antes de trabajar con IronBarcode en una aplicación .NET, es necesario cumplir algunos requisitos previos.

  1. .NET Framework o .NET Core: IronBarcode está diseñado para funcionar tanto con .NET Framework como con .NET Core. Asegúrese de que su entorno de desarrollo tiene instalada la versión .NET adecuada.
  2. Visual Studio: IronBarcode puede integrarse con Visual Studio para facilitar el desarrollo y las pruebas. Pueden utilizarse las ediciones Community, Professional o Enterprise de Visual Studio. Puede descargarse de la página Sitio web de Visual Studio.
  3. Biblioteca IronBarcode: Descargue e instale la biblioteca IronBarcode desde la página Sitio web de Iron Software o a través del gestor de paquetes NuGet. La biblioteca se puede instalar mediante la consola del gestor de paquetes NuGet ejecutando el siguiente comando: Install-Package BarCode.

     IronBarcode es gratuito para el desarrollo pero debe ser [con licencia](licensing)  con fines comerciales y de despliegue. Puede probar el [prueba gratuita](trial-license)  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.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 1

En la nueva ventana, busque y seleccione "ASP.NET MVC (Aplicación web) Modelo Vista Controlador" y haga clic en el botón Siguiente.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 2

Escribe el nombre del nuevo proyecto y su ubicación y pulsa en siguiente.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 3

Seleccione la versión .NET que desea utilizar, deje el resto de opciones como están y haga clic en Crear.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 4

Se crea un proyecto .NET.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 5

Instalar IronBarcode

1. Uso del gestor de paquetes NuGet

Esta opción está disponible en Visual Studio e instalará el paquete IronBarcode directamente en su solución. Ir a herramientas y haga clic en NuGet Package Manager como se muestra.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 6

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

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 7

2. Uso de la línea de comandos de Visual Studio

En el menú de Visual Studio, vaya a Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 8

Introduzca la siguiente línea en la pestaña de la consola del gestor de paquetes: Install-Package BarCode.

El paquete se descargará/instalará en el proyecto actual y estará listo para su uso.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 9

Generación y visualización de imágenes de códigos de barras con IronBarcode

Ahora que nuestro entorno está configurado, podemos empezar a escribir código para generar código de barras en ASP.NET MVC de forma dinámica.

En primer lugar, cree una clase en la carpeta del modelo denominada GenerateBarcodeModel.cs


    using System.ComponentModel.DataAnnotations;

    namespace GenerateBarcodeMVCCore6_Demo.Models
    {
        public class GenerateBarcodeModel
        {
            [Display(Name = "Enter Barcode Text")]
            public string Barcode
            {
                get;
                set;
            }
        }
    }

    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 Namespace
VB   C#

Cree una carpeta llamada "GeneratedBarcode" bajo la carpeta wwwroot para almacenar la imagen del código de barras generado.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 10

Añade el siguiente método de acción en tu clase "HomeController.cs" en la carpeta "controllers".


    public IActionResult CreateBarcode()
            {
                return View();
            }

            //    manipulación de la operación POST Dentro de este método de acción
            [HttpPost]
            public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
            {
                try
                {
                    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128);

            //  Añadir texto de anotación al código de barras
                    barcode.AddBarcodeValueTextBelowBarcode();

                    //  Estilizar el código de barras
            barcode.ResizeTo(400, 120);
                    barcode.ChangeBarCodeColor(Color.Red);
                    barcode.SetMargins(10);

                    string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                    string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");

            //  El objeto de código de barras generado puede manipularse, anotarse y exportarse como un archivo de imagen, una imagen de mapa de bits, un archivo PDF o un flujo de datos.
            //  Aquí, guardamos el código de barras generado como una imagen en la carpeta GeneratedBarcode que habíamos creado
                    barcode.SaveAsPng(filePath);
                    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();
            }

    public IActionResult CreateBarcode()
            {
                return View();
            }

            //    manipulación de la operación POST Dentro de este método de acción
            [HttpPost]
            public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
            {
                try
                {
                    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128);

            //  Añadir texto de anotación al código de barras
                    barcode.AddBarcodeValueTextBelowBarcode();

                    //  Estilizar el código de barras
            barcode.ResizeTo(400, 120);
                    barcode.ChangeBarCodeColor(Color.Red);
                    barcode.SetMargins(10);

                    string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                    string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");

            //  El objeto de código de barras generado puede manipularse, anotarse y exportarse como un archivo de imagen, una imagen de mapa de bits, un archivo PDF o un flujo de datos.
            //  Aquí, guardamos el código de barras generado como una imagen en la carpeta GeneratedBarcode que habíamos creado
                    barcode.SaveAsPng(filePath);
                    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();
            }
Public Function CreateBarcode() As IActionResult
				Return View()
End Function

			'    manipulación de la operación POST Dentro de este método de acción
			<HttpPost>
			Public Function CreateBarcode(ByVal generateBarcode As GenerateBarcodeModel) As IActionResult
				Try
					Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128)

			'  Añadir texto de anotación al código de barras
					barcode.AddBarcodeValueTextBelowBarcode()

					'  Estilizar el código de barras
			barcode.ResizeTo(400, 120)
					barcode.ChangeBarCodeColor(Color.Red)
					barcode.SetMargins(10)

					Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode")
					If Not Directory.Exists(path) Then
						Directory.CreateDirectory(path)
					End If
					Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png")

			'  El objeto de código de barras generado puede manipularse, anotarse y exportarse como un archivo de imagen, una imagen de mapa de bits, un archivo PDF o un flujo de datos.
			'  Aquí, guardamos el código de barras generado como una imagen en la carpeta GeneratedBarcode que habíamos creado
					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}" & "/GeneratedBarcode/" & fileName
					ViewBag.QrCodeUri = imageUrl
				Catch e1 As Exception
					Throw
				End Try
				Return View()
			End Function
VB   C#

El método action en el código anterior manejará la solicitud de envío generada desde la vista que crearemos más adelante. Con IronBarcode, puede personalizar el formato del código de barras, el elemento de imagen, la fuente del código de barras y el elemento de imagen HTML. Es posible que se necesiten bibliotecas adicionales para una mayor personalización, como por ejemplo Dibujo de hierro para instalar la fuente de código de barras. Encontrará documentación más detallada sobre la API en aquí.

Ahora podemos crear una vista para nuestro método generador de código de barras.

En el archivo "HomeController.cs", haga clic con el botón derecho en el método createBarcode y haga clic en Add View.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 11

Seleccione Razor View y haga clic en añadir.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 12

Seleccione los parámetros como se muestra en la siguiente imagen y haga clic en añadir, se añadirá automáticamente la vista para ese método.

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 13

Puede modificar el código generado para cambiar la interfaz como desee.


    @model GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel

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

    CreateBarcode

    GenerateBarcodeModel

        Back to List

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

    @model GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel

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

    CreateBarcode

    GenerateBarcodeModel

        Back to List

    @section Scripts {
        @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
    }
model ReadOnly Property () As GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel
		ViewData ("Title") = "CreateBarcode"
End Property

	CreateBarcode GenerateBarcodeModel Back [to] List ReadOnly Property Scripts() As section
		@
		If True Then
			Await Html.RenderPartialAsync("_ValidationScriptsPartial")
		End If
	End Property
VB   C#

Ahora todo está listo, sólo tienes que abrir el archivo _Layout.cshtml y añadir el código para agregar la opción CreateBarcode en la navbar.

CreateBarcode
CreateBarcode
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'CreateBarcode
VB   C#

Ahora ejecute la aplicación, escriba el texto en el campo de texto, y haga clic en el botón Generar código de barras, y se creará y mostrará la imagen del código de barras dinámicamente.

5.1. Salida

Cómo generar y mostrar dinámicamente códigos de barras en ASP.NET MVC: Figura 14

6. Conclusión

La generación y visualización dinámica de imágenes de códigos de barras en aplicaciones ASP.NET MVC puede lograrse utilizando la biblioteca IronBarcode, una potente biblioteca de códigos de barras .NET que proporciona una amplia gama de funciones para crear, leer y manipular imágenes de códigos de barras en aplicaciones .NET. Si se cumplen los requisitos previos, como la instalación de .NET Framework, 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 Código 39, Código 128 y Código QR. En IronBarcode ofrece a los desarrolladores funciones para generar códigos de barras con dimensiones, colores y fuentes personalizados, y para añadir 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 funciones de lectura y descodificación de imágenes de códigos de barras. Con IronBarcode, los desarrolladores pueden crear fácilmente aplicaciones web potentes y dinámicas que satisfagan sus necesidades empresariales. Si desea consultar un tutorial relacionado con este tema, visite la siguiente dirección enlace. Para ver un tutorial paso a paso sobre la generación de códigos de barras y códigos QR, consulte lo siguiente enlace.

< ANTERIOR
Cómo imprimir código de barras en C# Aplicación Windows
SIGUIENTE >
Cómo crear un código QR para un enlace (tutorial de C#)

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 1,069,531 Ver licencias >
123