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.
- 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. Nombra tu 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; }
}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 utiliza para tomar el contenido del código de barras.
Agregar controlador
A continuación, se agrega un Controller al proyecto. Comunicará con una View y un 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
Escribe el nombre de tu 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.
Install-Package BarCode
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();
}
}
}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 Class- Se utiliza
try-catchpara 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 de código de barras generadas. 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 más. 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. - Se utiliza
ViewBag.FileNamepara enviar la ruta de la imagen del código de barras a la vista para mostrar la imagen del código de barras generada.
También se pueden generar códigos QR 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")
}@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.
Preguntas Frecuentes
¿Cómo puedo generar e imprimir imágenes de códigos de barras en ASP.NET MVC usando C#?
Puedes usar la biblioteca IronBarcode para generar e imprimir imágenes de códigos de barras en aplicaciones ASP.NET MVC. Esto implica crear un proyecto MVC, instalar IronBarcode a través de la Consola del Administrador de Paquetes, y usar el método `BarcodeWriter.CreateBarcode` para generar códigos de barras.
¿Qué pasos están involucrados en crear un nuevo proyecto MVC para imprimir códigos de barras?
Para crear un nuevo proyecto MVC para imprimir códigos de barras, abre Microsoft Visual Studio, selecciona 'Crear nuevo proyecto', elige 'Aplicación web ASP.NET' y selecciona 'MVC' de las plantillas disponibles.
¿Cómo instalo la biblioteca IronBarcode para generar códigos de barras en C#?
Instala la biblioteca IronBarcode abriendo la Consola del Administrador de Paquetes en Visual Studio y ejecutando el comando: Install-Package IronBarcode.
¿Cómo guardo una imagen de código de barras generada en C#?
Puedes guardar una imagen de código de barras generada usando el método `SaveAsJpeg` proporcionado por IronBarcode, especificando la ruta del archivo donde se debe guardar la imagen.
¿Puedo personalizar imágenes de códigos de barras en aplicaciones ASP.NET?
Sí, IronBarcode permite la personalización de imágenes de códigos de barras, incluyendo agregar logotipos, anotaciones y cambiar el tamaño y las dimensiones para ajustarlas a tus necesidades.
¿Cómo puedo mostrar un código de barras generado en una vista MVC?
Para mostrar un código de barras generado en una vista MVC, crea una Vista en tu proyecto y pasa la ruta de la imagen del código de barras a la vista usando `ViewBag`. Esto permite la visualización del código de barras en el lado del cliente.
¿Qué debo hacer si encuentro errores durante la generación de códigos de barras?
Usa un bloque try-catch en tu código C# para manejar cualquier excepción en tiempo de ejecución que pueda ocurrir durante el proceso de generación de códigos de barras, asegurando un manejo de errores robusto.
¿Es posible generar códigos QR usando el mismo método que los códigos de barras?
Sí, utilizando IronBarcode, puedes generar códigos QR configurando el esquema de codificación a `QRCode` en el método `BarcodeWriter.CreateBarcode`.
¿Qué otras bibliotecas de software Iron se recomiendan para la gestión de documentos?
Aparte de IronBarcode, Iron Software ofrece otras bibliotecas como IronPDF, IronXL e IronOCR. Estas bibliotecas proporcionan soluciones integrales para tareas de gestión de documentos.






