Ir para o conteúdo do rodapé
USANDO O IRONBARCODE
Como imprimir um código de barras em ASP.NET

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.


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.

Como Imprimir Código de Barras em ASP.NET em C#, Figura 1: Criar um novo projeto ASP.NET Criar um novo projeto ASP.NET

Adicionar Modelo

Clique com o botão direito na pasta Models > Adicionar > Classe....

Como Imprimir Código de Barras em ASP.NET em C#, Figura 2: Navegar para adicionar Diálogo de 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; }
}
$vbLabelText   $csharpLabel

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

Como Imprimir Código de Barras em ASP.NET em C#, Figura 3: Adicionar Diálogo de Controlador 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();
        }
    }
}
$vbLabelText   $csharpLabel
  • try-catch é usado para capturar qualquer exceção de tempo de execução.
  • A função CreateBarcode fornecida pela classe BarcodeWriter leva 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étodo Path.Combine irá combinar o caminho e o nome da imagem do código de barras.
  • A função AddBarcodeValueTextAboveBarcode irá adicionar o valor do código de barras. IronBarcode fornece outras configurações de código de barras como max-height, max-width, barcode, color, e assim por diante. Você pode explorar e usar os vários parâmetros.
  • A função SaveAsJpeg recebe o caminho como argumento e salva os códigos de barras gerados nesse caminho específico.
  • O método Directory.GetFiles irá 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".

Como Imprimir Código de Barras em ASP.NET em C#, Figura 4: Navegar para adicionar Diálogo de Visualizaçã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.

Como Imprimir Código de Barras em ASP.NET em C#, Figura 5: Adicionar Diálogo de Visualização 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")
}
HTML

Em seguida, clique com o botão direito dentro da Visão, e clique no Botão Executar para Navegador.

Saída

Como Imprimir Código de Barras em ASP.NET em C#, Figura 6: Executar Aplicação Web para exibir o formulário de criação 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:

Como Imprimir Código de Barras em ASP.NET em C#, Figura 7: Insira o conteúdo do seu código de barras 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.

Como Imprimir Código de Barras em ASP.NET em C#, Figura 8: Gerar um código de barras a partir de um URL 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.

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