Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Este artículo demostrará cómo imprimir imágenes de código de barras en Aplicaciones Web ASP.NET usando C#. Para este ejemplo se utilizará el MVC Framework, pero también puede utilizar ASP.NET Web Forms, Windows Forms o Web API según sus necesidades.
Un conocimiento básico de ASP.NET MVC Framework le permitirá comprender mejor este artículo.
Crear código de barras
método para crear código de barras en C#Abra Microsoft Visual Studio. Pulse Crear Nuevo Proyecto > Seleccione ASP.NET Web Application de las plantillas > Pulse Siguiente > Nombre su Proyecto > Pulse Siguiente > Seleccione MVC > Pulse el Botón Crear. El proyecto se creará como se muestra a continuación.
Crear un nuevo proyecto ASP.NET
Haga clic con el botón derecho en la carpeta Modelos > Añadir > Clase....
Navegar al Diálogo de añadir Clase
Aparecerá una nueva ventana. Nombre su clase como BarcodeModel
.
Escribe el siguiente código en la clase modelo.
public class BarcodeModel
{
[Display(Name ="Barcode File Name")]
public string FileName { get; set; }
[Display(Name = "Barcode Content")]
public string BarcodeContent { get; set; }
}
public class BarcodeModel
{
[Display(Name ="Barcode File Name")]
public string FileName { get; set; }
[Display(Name = "Barcode Content")]
public string BarcodeContent { get; set; }
}
Public Class BarcodeModel
<Display(Name :="Barcode File Name")>
Public Property FileName() As String
<Display(Name := "Barcode Content")>
Public Property BarcodeContent() As String
End Class
El 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 para el código de barras.
A continuación, se añade un Controller
al proyecto. Se comunicará con una View
y un Model
utilizando el modelo MVC. El código para generar códigos de barras consta de sólo dos o tres líneas. Por lo tanto, no es necesaria una clase aparte; en su lugar, el código se añade dentro del Controlador.
Para añadir el controlador, haga clic con el botón derecho en la carpeta Controladores > Añadir > Controlador. Aparecerá una nueva ventana. Seleccione MVC 5 Controlador vacío. Haga clic en el botón Añadir. Aparecerá un nuevo cuadro.
**Añadir 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ódigos de barras.
Se recomienda la biblioteca IronBarcode como biblioteca de terceros para generar códigos de barras. Es gratuito para el desarrollo y ofrece múltiples funciones para personalizar los códigos de barras, como añadirun logotipo a una imagen de código de barras, añadiendo valor por debajo o por encima del código de barras,añadir anotaciones debajo o encima del código de barrascambiar el tamaño del código de barras, guardarlo enmúltiples formatos de imagenetc. Si desea más información, haga clic aquí.
Vaya a la Consola del Gestor de Paquetes. Escriba el siguiente comando y pulse Intro.
Install-Package BarCode
Este comando instalará la librería IronBarcode en el proyecto.
A continuación, añada el siguiente código de ejemplo al controlador.
[HttpPost]
public ActionResult CreateBarcode(BarcodeModel model)
{
try
{
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);
string path = Server.MapPath("~/Files/");
string filepath = Path.Combine(path, model.FileName);
MyBarCode.AddBarcodeValueTextAboveBarcode();
MyBarCode.SaveAsJpeg(filepath);
string image = Directory.GetFiles(path).FirstOrDefault();
ViewBag.fileName = image;
return View();
}
catch
{
return View();
}
}
[HttpPost]
public ActionResult CreateBarcode(BarcodeModel model)
{
try
{
var MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128);
string path = Server.MapPath("~/Files/");
string filepath = Path.Combine(path, model.FileName);
MyBarCode.AddBarcodeValueTextAboveBarcode();
MyBarCode.SaveAsJpeg(filepath);
string image = Directory.GetFiles(path).FirstOrDefault();
ViewBag.fileName = image;
return View();
}
catch
{
return View();
}
}
<HttpPost>
Public Function CreateBarcode(ByVal model As BarcodeModel) As ActionResult
Try
Dim MyBarCode = IronBarCode.BarcodeWriter.CreateBarcode(model.BarcodeContent, BarcodeEncoding.Code128)
Dim path As String = Server.MapPath("~/Files/")
Dim filepath As String = System.IO.Path.Combine(path, model.FileName)
MyBarCode.AddBarcodeValueTextAboveBarcode()
MyBarCode.SaveAsJpeg(filepath)
Dim image As String = Directory.GetFiles(path).FirstOrDefault()
ViewBag.fileName = image
Return View()
Catch
Return View()
End Try
End Function
try-catch
se utiliza para atrapar cualquier excepción en tiempo de ejecución.
La función CreateBarcode
de la aplicaciónEscritor de códigos de barras recibe 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 la altura máxima, la anchura máxima, etc.
La función Server.MapPath
se utiliza para asignar la ruta donde se guardarán las imágenes de código de barras generadas. El método Path.Combine
combinará la ruta y el nombre de la imagen del código de barras.
EnAñadir valor de código de barras por encima del código de barras añadirá el valor del código de barras. IronBarcode proporciona otros ajustes de código de barras como max-height
, max-width
, barcode
, color
, etc. Puede explorar y utilizar los distintos parámetros.
EnGuardar como JPEG toma la ruta como argumento y guarda los códigos de barras generados en esa ruta concreta.
El método Directory.GetFile
obtendrá la imagen del código de barras recién generada.
ViewBag.FileName
se utiliza para enviar la ruta de la imagen del código de barras a la vista para mostrar la imagen del código de barras generado.
Los códigos QR también pueden generarse de la misma manera cambiando el esquema de codificación de Code128
aQRCode
.
El siguiente paso es proporcionar el lado del cliente para esta Aplicación Web ASP.NET añadiendo una nueva Vista. Haga clic con el botón derecho en el nombre del método del controlador y haga clic en el botón "Añadir vista".
Navegar para añadir Diálogo de Vista
Aparecerá una nueva ventana. Seleccione Vista MVC 5 y haga clic en el botón Añadir.
Aparecerá un nuevo mensaje como el que se muestra a continuación.
Añadir Diálogo de Vista
Asigne un nombre a su Vista y haga clic en el botón Añadir. Se creará un nuevo archivo .cshtml
.
Añade el siguiente código dentro de tu nueva vista 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")
}
model ReadOnly Property () As GenerateBarcodeMVC.Models.BarcodeModel
ViewBag.DisplayBarcode = False
End Property
'INSTANT VB TODO TASK: The following line could not be converted:
(Of h2) Create</h2> [using](Html.BeginForm())
If True Then
'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:
Html.AntiForgeryToken() <div class="form-horizontal"> (Of h4) GenerateBarcode</h4> <hr /> Html.ValidationSummary(True, "", New With {Key .class = "text-danger"}) <div class="form-group"> Html.LabelFor(Function(model) model.FileName, htmlAttributes:= New With {Key .class = "control-label col-md-2"}) <div class="col-md-10"> Html.EditorFor(Function(model) model.FileName, New With {
Key .htmlAttributes = New With {Key .class = "form-control"}
}) Html.ValidationMessageFor(Function(model) model.FileName, "", New With {Key .class = "text-danger"}) </div> </div> <div class="form-group"> Html.LabelFor(Function(model) model.BarcodeContent, htmlAttributes:= New With {Key .class = "control-label col-md-2"}) <div class="col-md-10"> Html.EditorFor(Function(model) model.BarcodeContent, New With {
Key .htmlAttributes = New With {Key .class = "form-control"}
}) Html.ValidationMessageFor(Function(model) model.BarcodeContent, "", New With {Key .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>
End If
Dim Scripts As section
If True Then
Scripts.Render("~/bundles/jqueryval")
End If
A continuación, haga clic con el botón derecho del ratón dentro de la Vista y haga clic en el botón Ejecutar en el navegador.
**Ejecute la aplicación web para mostrar el formulario de creación.
Introduzca el nombre de la imagen del código de barras y el contenido del código de barras como se muestra a continuación:
Introduzca el contenido de su código de barras
Haga 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 a partir de una URL
Este tutorial muestra cómo generar códigos de barras utilizando ASP.NET en C#, combinado con el MVC Framework. Como IDE se utiliza Microsoft Visual Studio. IronPDF es una biblioteca de terceros gratuita para el desarrollo y compatible con todas las versiones de .NET Framework, incluida la versión recién lanzada. IronBarcode es rápido y ofrece múltiples funciones para trabajar con códigos de barras. También puedegenerar códigos QR especificando diferentes tipos.
Existen otras muchas bibliotecas útiles, como IronPDF para trabajar con documentos PDF, IronXL para trabajar con documentos Excel e IronOCR para trabajar con OCR. Actualmente, puede obtener las cinco bibliotecas por el precio de sólo dos adquiriendo la Iron Suite completa. Visitenuestra página de licencias para más detalles.
9 productos API .NET para sus documentos de oficina