Como imprimir um código de barras em ASP.NET usando C#
Este artigo demonstrará como imprimir imagens de código de barras em Aplicações Web ASP.NET usando C#. O MVC Framework será utilizado neste exemplo, mas você também pode usar Web Forms ASP.NET, Windows Forms ou Web API conforme suas necessidades.
Um conhecimento básico do MVC Framework ASP.NET dará uma melhor compreensão deste artigo.
Como Imprimir Arquivos de Código de Barras em C#
- Instalar a biblioteca C# para imprimir arquivo de código de barras
- Configurar modelo e controlador
- Utilize o método `CreateBarcode` para criar código de barras em C#
- Configure a visualização para exibir o código de barras gerado.
- Imprima a página da web que contém a imagem do código de barras usando uma impressora ou um software de impressão para PDF.
Crie um Projeto MVC
Abra o Microsoft Visual Studio. Clique em Criar Novo Projeto > Selecione Aplicação Web ASP.NET nos templates > Pressione Next > Nomeie o seu Projeto > Pressione Next > Selecione MVC > Clique no Botão Criar. O projeto será criado conforme mostrado abaixo.
Criar um novo projeto ASP.NET
Adicionar Modelo
Clique com o botão direito na pasta Models > Adicionar > Classe....
Navegar para adicionar Diálogo de Classe
Uma nova janela será aberta. Nomeie sua classe como BarcodeModel.
Escreva o seguinte código na classe 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 Class
O FileName será usado para obter o nome da imagem do código de barras do usuário. O BarcodeContent é usado para pegar o conteúdo para o código de barras.
Adicionar Controlador
Em seguida, um Controller é adicionado ao projeto. Ele irá se comunicar com um View e Model usando o modelo MVC. O código para gerar códigos de barras consiste em apenas duas ou três linhas. Portanto, não há necessidade de uma classe separada; em vez disso, o código é adicionado dentro do Controlador.
Para adicionar o Controlador, clique com o botão direito na pasta Controladores > Adicionar > Controlador. Uma nova janela será aberta. Selecione MVC 5 Controlador Vazio. Clique no botão Adicionar. Uma nova caixa aparecerá.
Caixa de Diálogo Adicionar Controlador
Escreva o nome do seu Controlador, por exemplo, BarcodeController. Clique no botão Adicionar. Um novo Controlador será gerado.
O próximo passo é instalar a biblioteca de código de barras.
Instalar a Biblioteca de Código de Barras
A biblioteca IronBarcode é recomendada como uma biblioteca de terceiros para gerar códigos de barras. É gratuita para desenvolvimento e oferece múltiplas funcionalidades para personalizar códigos de barras, como adicionar um logotipo a uma imagem de código de barras, adicionar valor abaixo ou acima do código de barras, adicionar anotações abaixo ou acima do código de barras, redimensionar o código de barras, salvar o código de barras em múltiplos formatos de imagem, etc. Para mais detalhes, por favor, clique aqui.
Vá para o Console do Gerenciador de Pacotes. Digite o seguinte comando e pressione Enter.
Install-Package BarCode
Este comando instalará a biblioteca IronBarcode no projeto.
Gerar o Código de Barras
Em seguida, adicione o seguinte código de exemplo ao 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
try-catché usado para capturar qualquer exceção de tempo de execução.- A função
CreateBarcodefornecida pela classeBarcodeWriterleva dois argumentos: o conteúdo do código de barras e o esquema de codificação. Além disso, também aceita 11 outros argumentos opcionais que incluem altura máxima, largura máxima, e assim por diante. - A função
Server.MapPathé usada para mapear o caminho onde as imagens de código de barras geradas serão salvas. O métodoPath.Combineirá combinar o caminho e o nome da imagem do código de barras. - A função
AddBarcodeValueTextAboveBarcodeirá adicionar o valor do código de barras. IronBarcode fornece outras configurações de código de barras comomax-height,max-width,barcode,color, e assim por diante. Você pode explorar e usar os vários parâmetros. - A função
SaveAsJpegrecebe o caminho como argumento e salva os códigos de barras gerados nesse caminho específico. - O método
Directory.GetFilesirá obter a imagem do código de barras recém-gerada. ViewBag.FileNameé usado para enviar o caminho da imagem do código de barras para a visualização para exibir a imagem gerada do código de barras.
Também é possível gerar códigos QR da mesma maneira, alterando o esquema de codificação de Code128 para QRCode.
Adicionar Visão
O próximo passo é fornecer o lado do cliente para esta Aplicação Web ASP.NET adicionando uma nova Visão. Clique com o botão direito no nome do método do Controlador e clique no botão "Adicionar Visão".
Navegar para adicionar Caixa de Diálogo de Visão
Uma nova janela será aberta. Selecione MVC 5 Visão, e clique no botão Adicionar.
Um novo aviso aparecerá como mostrado abaixo.
Caixa de Diálogo Adicionar Visão
Nomeie sua Visão e clique no botão Adicionar. Um novo arquivo .cshtml será criado.
Adicione o seguinte código dentro da sua visão recém-gerada.
@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")
}
Em seguida, clique com o botão direito dentro da Visão, e clique no Botão Executar para Navegador.
Saída
Executar Aplicativo Web para exibir o formulário de criação
Digite o nome da imagem do seu código de barras e o conteúdo do código de barras conforme mostrado abaixo:
Insira o conteúdo do seu código de barras
Clique no botão Criar . A imagem do código de barras será gerada e exibida na tela conforme mostrado abaixo.
Gerar um código de barras a partir de uma URL
Resumo
Este tutorial demonstrou como gerar códigos de barras usando ASP.NET em C#, combinado com o Framework MVC. O Microsoft Visual Studio é usado como IDE. IronPDF é uma biblioteca de terceiros que é gratuita para desenvolvimento e compatível com todas as versões do .NET Framework, incluindo a versão recém-lançada. IronBarcode é rápido e fornece múltiplas funcionalidades para trabalhar com códigos de barras. Também pode gerar códigos QR especificando diferentes tipos.
Existem outras bibliotecas úteis, como IronPDF para trabalhar com documentos PDF, IronXL para trabalhar com documentos Excel e IronOCR para trabalhar com OCR. Atualmente, você pode obter todas as cinco bibliotecas pelo preço de apenas duas adquirindo o pacote completo Iron Suite. Visite nossa página de licenciamento para mais detalhes.
Perguntas frequentes
Como posso gerar e imprimir imagens de código de barras em ASP.NET MVC usando C#?
Você pode usar a biblioteca IronBarcode para gerar e imprimir imagens de código de barras em aplicações ASP.NET MVC. Isso envolve a criação de um projeto MVC, a instalação do IronBarcode através do Gerenciador de Pacotes e o uso do método `BarcodeWriter.CreateBarcode` para gerar os códigos de barras.
Quais são os passos envolvidos na criação de um novo projeto MVC para impressão de código de barras?
Para criar um novo projeto MVC para impressão de código de barras, abra o Microsoft Visual Studio, selecione 'Criar novo projeto', escolha 'Aplicativo Web ASP.NET' e selecione 'MVC' nos modelos disponíveis.
Como faço para instalar a biblioteca IronBarcode para geração de códigos de barras em C#?
Instale a biblioteca IronBarcode abrindo o Console do Gerenciador de Pacotes no Visual Studio e executando o comando: Install-Package IronBarcode .
Como faço para salvar uma imagem de código de barras gerada em C#?
Você pode salvar uma imagem de código de barras gerada usando o método `SaveAsJpeg` fornecido pelo IronBarcode, especificando o caminho do arquivo onde a imagem deve ser salva.
Posso personalizar imagens de código de barras em aplicações ASP.NET?
Sim, o IronBarcode permite a personalização de imagens de código de barras, incluindo a adição de logotipos, anotações e a alteração do tamanho e das dimensões para atender às suas necessidades.
Como posso exibir um código de barras gerado em uma view MVC?
Para exibir um código de barras gerado em uma view MVC, crie uma View em seu projeto e passe o caminho da imagem do código de barras para a view usando `ViewBag`. Isso permite a exibição do código de barras no lado do cliente.
O que devo fazer se encontrar erros durante a geração do código de barras?
Utilize um bloco try-catch em seu código C# para lidar com quaisquer exceções de tempo de execução que possam ocorrer durante o processo de geração do código de barras, garantindo um tratamento de erros robusto.
É possível gerar códigos QR usando o mesmo método que os códigos de barras?
Sim, usando o IronBarcode, você pode gerar códigos QR definindo o esquema de codificação para `QRCode` no método `BarcodeWriter.CreateBarcode`.
Que outras bibliotecas de Iron Software são recomendadas para gerenciamento de documentos?
Além do IronBarcode, a Iron Software oferece outras bibliotecas como IronPDF, IronXL e IronOCR. Essas bibliotecas fornecem soluções abrangentes para tarefas de gerenciamento de documentos.



