Ir para o conteúdo do rodapé
USANDO O IRONBARCODE

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 de System.Drawing.Common e da API Gráfica do .NET, que são específicos do Windows a partir do .NET 6, o IronBarcode permite funcionalidades multiplataforma e permite mais compatibilidade de origem.

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.

  1. .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.
  2. 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.
  3. Biblioteca IronBarcode: Baixe e instale a biblioteca IronBarcode do site da Iron Software ou através do 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.

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 1

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

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 2

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

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 3

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

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 4

Um projeto .NET é criado.

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 5

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.

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 6

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.

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 7

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.

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 8

Digite a seguinte linha na guia do console do gerenciador de pacotes: Install-Package BarCode.

O pacote será baixado/instalado no projeto atual e estará pronto para uso.

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 9

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 de modelos chamada GenerateBarcodeModel.cs

using System.ComponentModel.DataAnnotations;

namespace GenerateBarcodeMVCCore6_Demo.Models
{
    public class GenerateBarcodeModel
    {
        [Display(Name = "Enter Barcode Text")]
        public string Barcode { get; set; }
    }
}
using System.ComponentModel.DataAnnotations;

namespace GenerateBarcodeMVCCore6_Demo.Models
{
    public class GenerateBarcodeModel
    {
        [Display(Name = "Enter Barcode Text")]
        public string Barcode { get; set; }
    }
}
$vbLabelText   $csharpLabel

Crie uma pasta chamada "GeneratedBarcode" na pasta wwwroot para armazenar as imagens de código de barras geradas.

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 10

Adicione o seguinte método de ação na 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();
        }
    }
}
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();
        }
    }
}
$vbLabelText   $csharpLabel

O 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ções, como Iron Drawing para instalação da fonte do 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 no método CreateBarcode e clique em Adicionar Visualização.

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 11

Selecione Visualização Razor e clique em adicionar.

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 12

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

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 13

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 em navbar.

<li class="nav-item">
    <a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
<li class="nav-item">
    <a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
HTML

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

Como Gerar e Exibir Código de Barras Dinamicamente no ASP.NET MVC: Figura 14

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.

Perguntas frequentes

Como posso gerar imagens de código de barras dinamicamente em ASP.NET MVC?

Você pode usar a biblioteca IronBarcode para gerar imagens de código de barras dinamicamente em ASP.NET MVC, integrando sua API ao seu projeto. Essa biblioteca C# suporta diversos formatos de código de barras e permite personalização em termos de dimensões, cores e texto.

Quais são os benefícios de usar o IronBarcode em aplicações ASP.NET MVC?

O IronBarcode oferece funcionalidade multiplataforma sem depender das APIs gráficas .NET específicas do Windows. Ele suporta diversos formatos de código de barras, oferece opções de personalização e pode ler e decodificar códigos de barras a partir de imagens, PDFs e transmissões ao vivo de câmeras.

Como faço para integrar o IronBarcode em um projeto ASP.NET MVC?

Para integrar o IronBarcode em um projeto ASP.NET MVC, você precisa instalar a biblioteca através do Gerenciador de Pacotes NuGet no Visual Studio, configurar um modelo para os dados do código de barras, criar um controlador para lidar com a geração do código de barras e projetar uma visualização para interação do usuário e exibição do código de barras.

Quais formatos de código de barras são suportados para geração em ASP.NET MVC usando o IronBarcode?

O IronBarcode suporta a geração de uma ampla variedade de formatos de código de barras em ASP.NET MVC, incluindo Code 39, Code 128, QR Code, Data Matrix e PDF417.

Posso personalizar a aparência das imagens de código de barras geradas com o IronBarcode?

Sim, o IronBarcode permite a personalização de imagens de código de barras, incluindo o ajuste do formato, cores, dimensões, fontes e a adição de texto ou logotipos ao código de barras.

Como posso solucionar problemas ao gerar códigos de barras em ASP.NET MVC?

Se você encontrar problemas ao gerar códigos de barras no ASP.NET MVC, verifique se a biblioteca IronBarcode está instalada corretamente, se todas as dependências foram atendidas e se o modelo de dados do código de barras e a configuração do controlador estão implementados corretamente. Consulte a documentação do IronBarcode para obter mais orientações.

É possível decodificar códigos de barras em uma aplicação ASP.NET MVC usando o IronBarcode?

Sim, o IronBarcode inclui funcionalidades para decodificar códigos de barras de diversas fontes, como imagens, documentos PDF e transmissões de câmeras ao vivo, mesmo que estejam parcialmente danificados.

Quais são os pré-requisitos para configurar um projeto ASP.NET MVC com o IronBarcode?

Você precisa ter o .NET Framework ou .NET Core instalado, o Visual Studio e a biblioteca IronBarcode, que pode ser baixada do site da Iron Software ou instalada através do Gerenciador de Pacotes NuGet.

Curtis Chau
Redator Técnico

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 ...

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me