
Como gerar e exibir códigos de barras dinamicamente em ASP.NET MVC
ASP.NET MVC é um framework de desenvolvimento web popular que permite aos desenvolvedores criar aplicativos web robustos e dinâmicos. Um requisito comum nos aplicativos web é a capacidade de gerar e exibir imagens de código de barras. Imagens de código de barras são usadas para representar dados em um formato legível por máquinas e podem ser lidas por um scanner de código de barras.
A geração e exibição dinâmica de imagens de código de barras em ASP.NET MVC pode ser realizada utilizando a biblioteca C# líder de mercado, IronBarcode. Esta biblioteca fornece APIs que permitem aos desenvolvedores gerar facilmente imagens de código de barras em várias plataformas em vários formatos, como Code 39, Code 128 e QR Code. Sem depender do System.Drawing.Common e da API Gráfica .NET, que são específicas do Windows a partir do .NET 6, o IronBarcode permite funcionalidades multiplataforma e permite mais compatibilidade de código-fonte.
IronBarcode
IronBarcode é uma biblioteca de código de barras .NET popular que fornece uma ampla gama de recursos para criar, ler e manipular imagens de código de barras em aplicativos .NET. A biblioteca é desenvolvida e mantida pela Iron Software, uma empresa de desenvolvimento de software especializada em componentes e bibliotecas .NET. IronBarcode oferece suporte para uma ampla gama de formatos de código de barras, incluindo Code 128, Code 39, QR Code, Data Matrix e PDF417. A biblioteca também fornece recursos para gerar códigos de barras com dimensões, cores e fontes personalizadas, além de adicionar texto e logotipos às imagens de código de barras.
Além da geração de códigos de barras, o IronBarcode também inclui recursos para ler e decodificar imagens de códigos de barras. A biblioteca pode ler e decodificar códigos de barras de imagens, documentos PDF e transmissões de câmera ao vivo. Ela suporta formatos de código de barras 1D e 2D e consegue até reconhecer códigos de barras que estão parcialmente obscurecidos ou danificados.
Pré-requisitos
Antes de trabalhar com IronBarcode em um aplicativo .NET, existem alguns pré-requisitos que precisam ser atendidos.
- .NET Framework ou .NET Core: IronBarcode é projetado para funcionar tanto com .NET Framework quanto com .NET Core. Certifique-se de que seu ambiente de desenvolvimento tenha a versão adequada do .NET instalada.
- Visual Studio: IronBarcode pode ser integrado com o Visual Studio para desenvolvimento e testes fáceis. As edições Visual Studio Community, Professional ou Enterprise podem ser usadas. Pode ser baixado do site do Visual Studio.
- Biblioteca IronBarcode: Baixe e instale a biblioteca IronBarcode do site da Iron Software ou via o gerenciador de pacotes NuGet. A biblioteca pode ser instalada usando o Console do Gerenciador de Pacotes NuGet executando o seguinte comando:
Install-Package BarCode.
IronBarcode é gratuito para desenvolvimento, mas deve ser licenciado para fins comerciais e de implantação. Você pode experimentar a versão de teste gratuita para testar todas as suas funcionalidades.
Criando um Novo Projeto ASP.NET MVC
Abra o Visual Studio e clique em Criar um novo projeto.

Na nova janela, encontre e selecione "ASP.NET MVC (Web App) Model View Controller" e clique no botão Avançar.

Digite o nome do novo projeto e sua localização e clique em Avançar.

Selecione a versão do .NET que deseja usar e deixe todas as outras opções como estão e clique em Criar.

Um projeto .NET é criado.

Instalar IronBarcode
1. Usando o Gerenciador de Pacotes NuGet
Esta opção está disponível no Visual Studio e instalará o pacote do IronBarcode diretamente na sua solução. Vá para ferramentas e clique em Gerenciador de Pacotes NuGet como mostrado.

Procure a biblioteca IronBarcode usando a caixa de pesquisa no Gerenciador de Pacotes NuGet. Selecione a opção IronBarcode da lista de pacotes disponíveis.

2. Usando a Linha de Comando do Visual Studio
No menu do Visual Studio, vá para Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes.

Digite a seguinte linha na aba do console do gerenciador de pacotes: Install-Package BarCode.
O pacote será baixado/instalado no projeto atual e estará pronto para uso.

Gerando e Exibindo Imagens de Código de Barras Usando IronBarcode
Agora que nosso ambiente está configurado, podemos começar a escrever o código para gerar dinamicamente uma imagem de código de barras no ASP.NET MVC.
Primeiro, crie uma classe na pasta model chamada GenerateBarcodeModel.cs
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 NamespaceCrie uma pasta chamada "GeneratedBarcode" dentro da pasta wwwroot para armazenar as imagens de código de barras geradas.

Adicione o seguinte método de ação em sua classe HomeController.cs na pasta "controllers".
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System;
using System.Drawing;
using System.IO;
namespace YourNamespace.Controllers
{
public class HomeController : Controller
{
private readonly IWebHostEnvironment _environment;
public HomeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateBarcode()
{
return View();
}
// Handling POST operation inside this Action method
[HttpPost]
public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
{
try
{
// Create a barcode using the input text
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128);
// Adding annotation text to barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Styling the Barcode
barcode.ResizeTo(400, 120);
barcode.ChangeBarCodeColor(Color.Red);
barcode.SetMargins(10);
// Define path to save the barcode image
string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
// Save the generated barcode as a PNG file
string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");
barcode.SaveAsPng(filePath);
// Get the file name and URL for the generated barcode image
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();
}
}
}Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System
Imports System.Drawing
Imports System.IO
Namespace YourNamespace.Controllers
Public Class HomeController
Inherits Controller
Private ReadOnly _environment As IWebHostEnvironment
Public Sub New(ByVal environment As IWebHostEnvironment)
_environment = environment
End Sub
Public Function CreateBarcode() As IActionResult
Return View()
End Function
' Handling POST operation inside this Action method
<HttpPost>
Public Function CreateBarcode(ByVal generateBarcode As GenerateBarcodeModel) As IActionResult
Try
' Create a barcode using the input text
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128)
' Adding annotation text to barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Styling the Barcode
barcode.ResizeTo(400, 120)
barcode.ChangeBarCodeColor(Color.Red)
barcode.SetMargins(10)
' Define path to save the barcode image
Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode")
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
' Save the generated barcode as a PNG file
Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png")
barcode.SaveAsPng(filePath)
' Get the file name and URL for the generated barcode image
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
End Class
End NamespaceO método de ação no código acima irá lidar com a solicitação de envio gerada pela Visualização que criaremos posteriormente. Com IronBarcode, você pode personalizar o formato do código de barras, elemento da imagem, fonte do código de barras e elemento de imagem HTML. Bibliotecas adicionais podem ser necessárias para mais personalização, como IronDrawing para instalar a fonte de código de barras. Documentação API mais detalhada pode ser encontrada aqui.
Agora podemos criar uma visualização para nosso método gerador de código de barras.
No arquivo HomeController.cs, clique com o botão direito do mouse no método CreateBarcode e clique em Adicionar Visualização.

Selecione Visualização Razor e clique em adicionar.

Selecione os parâmetros conforme mostrado na imagem abaixo e clique em Adicionar. Ele adicionará automaticamente uma visualização para aquele método.

Você pode modificar o código gerado para alterar a interface como desejar.
@model GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel
@{
ViewData["Title"] = "CreateBarcode";
}
<h1>CreateBarcode</h1>
<form asp-action="CreateBarcode" method="post">
<div>
<label asp-for="Barcode"></label>
<input asp-for="Barcode" />
<span asp-validation-for="Barcode"></span>
</div>
<button type="submit">Generate Barcode</button>
</form>
@if (ViewBag.QrCodeUri != null)
{
<div>
<img src="@ViewBag.QrCodeUri" alt="Barcode Image" />
</div>
}
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
Agora tudo está configurado, basta abrir o arquivo _Layout.cshtml e adicionar o código para adicionar a opção CreateBarcode no navbar.
<li class="nav-item">
<a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
Agora execute o aplicativo, escreva texto no campo de texto e clique no botão Gerar código de barras, e ele irá criar e exibir dinamicamente a imagem do código de barras.
5.1. Saída

6. Conclusão
Gerar e exibir imagens de código de barras dinamicamente em aplicativos ASP.NET MVC pode ser alcançado usando a biblioteca IronBarcode, uma poderosa biblioteca .NET para códigos de barras que fornece uma ampla gama de recursos para criar, ler e manipular imagens de código de barras em aplicativos .NET. Ao satisfazer pré-requisitos como instalar o .NET framework, Visual Studio e a biblioteca IronBarcode, os desenvolvedores podem facilmente criar projetos ASP.NET MVC e gerar e exibir imagens de código de barras em vários formatos como Code 39, Code 128 e QR Code. A biblioteca IronBarcode fornece aos desenvolvedores recursos para gerar códigos de barras com dimensões, cores e fontes personalizadas e para adicionar texto e logotipos às imagens de código de barras. Além da geração de códigos de barras, o IronBarcode também inclui recursos para ler e decodificar imagens de códigos de barras. Com o IronBarcode, os desenvolvedores podem facilmente criar aplicativos web poderosos e dinâmicos que atendem às suas necessidades de negócios. Para um tutorial relacionado a este tópico, visite o seguinte link. Para um tutorial passo a passo sobre geração de código de barras e QR Code, consulte o seguinte link.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.
Artigos relacionados


