
Cómo Imprimir un Código de Barras en ASP.NET en C#
Este artículo demostrará cómo imprimir imágenes de código de barras en aplicaciones web ASP.NET usando C#. El marco de MVC se utilizará para este ejemplo, pero también puedes usar Formularios Web de ASP.NET, Formularios de Windows o Web API según tus necesidades.
Un conocimiento básico del marco de MVC de ASP.NET te dará una mejor comprensión de este artículo.
Cómo imprimir archivos de código de barras en C#
- Instalar la biblioteca C# para imprimir el archivo de código de barras
- Configurar Modelo y Controlador
- Utilice el método
CreateBarcodepara crear un código de barras en C# - Configurar la Vista para mostrar el código de barras generado
- Imprimir la página web que contiene la imagen del código de barras usando una impresora o software de impresión a PDF
Crear un proyecto MVC
Abra Microsoft Visual Studio. Haz clic en Crear Nuevo Proyecto > Selecciona Aplicación Web ASP.NET de las plantillas > Pulsa Siguiente > Nombra tu Proyecto > Pulsa Siguiente > Selecciona MVC > Haz clic en el botón Crear. El proyecto se creará como se muestra a continuación.
Crea un nuevo proyecto ASP.NET
Agregar modelo
Haz clic derecho en la carpeta Models > Añadir > Clase....
Navegar al diálogo para añadir Clase
Aparecerá una nueva ventana. Nombre a su clase como BarcodeModel.
Escribe el siguiente código en la clase del modelo.
using System.ComponentModel.DataAnnotations;
public class BarcodeModel
{
[Display(Name ="Barcode File Name")]
public string FileName { get; set; }
[Display(Name = "Barcode Content")]
public string BarcodeContent { get; set; }
}Imports System.ComponentModel.DataAnnotations
Public Class BarcodeModel
<Display(Name :="Barcode File Name")>
Public Property FileName() As String
<Display(Name := "Barcode Content")>
Public Property BarcodeContent() As String
End ClassEl FileName se utilizará para obtener el nombre de la imagen del código de barras del usuario. El BarcodeContent se usa para tomar el contenido para el código de barras.
Agregar controlador
A continuación, se agrega un Controller al proyecto. Se comunicará con un View y Model utilizando el modelo MVC. El código para generar códigos de barras consiste en solo dos o tres líneas. Por lo tanto, no es necesaria una clase separada; en su lugar, el código se añade dentro del Controlador.
Para añadir el Controlador, haz clic derecho en la carpeta Controllers > Añadir > Controlador. Aparecerá una nueva ventana. Selecciona Controlador MVC 5 Vacío. Haz clic en el botón Añadir. Aparecerá un nuevo cuadro.
Añadir diálogo de Controlador
Escriba el nombre de su Controlador, por ejemplo, BarcodeController. Haz clic en el botón Añadir. Se generará un nuevo Controlador.
El siguiente paso es instalar la biblioteca de código de barras.
Instalar la biblioteca de códigos de barras
Se recomienda la biblioteca IronBarcode como una biblioteca de terceros para generar códigos de barras. Es gratuita para el desarrollo y proporciona múltiples características para personalizar códigos de barras, como agregar un logotipo a una imagen de código de barras, añadir un valor debajo o encima del código de barras, añadir anotaciones debajo o encima del código de barras, redimensionar el código de barras, guardar el código de barras en múltiples formatos de imagen, etc. Para más detalles, por favor haz clic aquí.
Ve a la Consola del Gestor de Paquetes. Escribe el siguiente comando y presiona Enter.
Este comando instalará la biblioteca IronBarcode en el proyecto.
Generar el código de barras
A continuación, añade el siguiente código de muestra al controlador.
using System.IO;
using System.Linq;
using System.Web.Mvc;
using IronBarCode;
public class BarcodeController : Controller
{
[HttpPost]
public ActionResult CreateBarcode(BarcodeModel model)
{
try
{
// Create a barcode with the specified content and encoding
var MyBarCode = BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);
// Define the path where the barcode image will be saved
string path = Server.MapPath("~/Files/");
string filepath = Path.Combine(path, model.FileName);
// Add the barcode value text above the barcode
MyBarCode.AddBarcodeValueTextAboveBarcode();
// Save the generated barcode as a JPEG file
MyBarCode.SaveAsJpeg(filepath);
// Retrieve the first file from the directory as a sample image
string image = Directory.GetFiles(path).FirstOrDefault();
// Pass the image path to the view
ViewBag.FileName = image;
return View();
}
catch
{
// Handle any exceptions that occur
return View();
}
}
}Imports System.IO
Imports System.Linq
Imports System.Web.Mvc
Imports IronBarCode
Public Class BarcodeController
Inherits Controller
<HttpPost>
Public Function CreateBarcode(ByVal model As BarcodeModel) As ActionResult
Try
' Create a barcode with the specified content and encoding
Dim MyBarCode = BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128)
' Define the path where the barcode image will be saved
Dim path As String = Server.MapPath("~/Files/")
Dim filepath As String = System.IO.Path.Combine(path, model.FileName)
' Add the barcode value text above the barcode
MyBarCode.AddBarcodeValueTextAboveBarcode()
' Save the generated barcode as a JPEG file
MyBarCode.SaveAsJpeg(filepath)
' Retrieve the first file from the directory as a sample image
Dim image As String = Directory.GetFiles(path).FirstOrDefault()
' Pass the image path to the view
ViewBag.FileName = image
Return View()
Catch
' Handle any exceptions that occur
Return View()
End Try
End Function
End Classtry-catchse utiliza para capturar cualquier excepción en tiempo de ejecución.- La función
CreateBarcodeproporcionada por la claseBarcodeWritertoma dos argumentos: el contenido del código de barras y el esquema de codificación. Además, también acepta otros 11 argumentos opcionales que incluyen altura máxima, ancho máximo, y así sucesivamente. - La función
Server.MapPathse utiliza para mapear la ruta donde se guardarán las imágenes generadas del código de barras. El métodoPath.Combinecombinará la ruta y el nombre de la imagen del código de barras. - La función
AddBarcodeValueTextAboveBarcodeañadirá el valor del código de barras. IronBarcode proporciona otras configuraciones de códigos de barras comomax-height,max-width,barcode,color, y así sucesivamente. Puedes explorar y hacer uso de los diversos parámetros. - La función
SaveAsJpegtoma la ruta como argumento y guarda los códigos de barras generados en esa ruta en particular. - El método
Directory.GetFilesobtendrá la imagen del código de barras recién generada. ViewBag.FileNamese utiliza para enviar la ruta de la imagen del código de barras a la vista para mostrar la imagen generada del código de barras.
Los códigos QR también pueden generarse de la misma manera cambiando el esquema de codificación de Code128 a QRCode.
Agregar vista
El siguiente paso es proporcionar el lado del cliente para esta aplicación web ASP.NET añadiendo una nueva Vista. Haz clic derecho en el nombre del método del Controlador y haz clic en el botón "Add View".
Navegar al diálogo para añadir Vista
Aparecerá una nueva ventana. Selecciona Vista MVC 5 y haz clic en el botón Añadir.
Aparecerá un nuevo aviso como se muestra a continuación.
Añadir diálogo de Vista
Nombra tu Vista y haz clic en el botón Añadir. Se creará un nuevo archivo .cshtml.
Añade el siguiente código dentro de tu vista recién generada.
@model GenerateBarcodeMVC.Models.BarcodeModel
@{
ViewBag.DisplayBarcode = false;
}
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>GenerateBarcode</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.FileName, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.FileName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.FileName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.BarcodeContent, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.BarcodeContent, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.BarcodeContent, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<img src="~/Files/@Path.GetFileName(ViewBag.FileName)" alt="Barcode" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
A continuación, haz clic derecho dentro de la Vista y haz clic en el botón Ejecutar en el Navegador.
Resultado
Ejecutar la aplicación web para mostrar el formulario de Creación
Introduce el nombre y contenido de tu imagen de código de barras como se muestra:
Introduce el contenido de tu código de barras
Haz clic en el botón Crear. La imagen del código de barras se generará y se mostrará en la pantalla como se muestra a continuación.
Generar un código de barras desde una URL
Resumen
Este tutorial demostró cómo generar códigos de barras utilizando ASP.NET en C#, combinado con el marco MVC. Se utiliza Microsoft Visual Studio como el IDE. IronPDF es una biblioteca de terceros que es gratuita para el desarrollo y compatible con todas las versiones del .NET Framework, incluida la versión recientemente lanzada. IronBarcode es rápido y proporciona múltiples características para trabajar con códigos de barras. También puede generar códigos QR especificando diferentes tipos.
Hay otras muchas bibliotecas útiles como IronPDF para trabajar con documentos PDF, IronXL para trabajar con documentos de Excel e IronOCR para trabajar con OCR. Actualmente, puedes obtener las cinco bibliotecas por el precio de solo dos al comprar el completo Iron Suite. Visita nuestra página de licencias para obtener más detalles.

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

