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

Como gerar códigos QR em ASP.NET MVC

No panorama digital acelerado de hoje, a geração de QR codes tornou-se uma ferramenta essencial para o compartilhamento eficiente de informações. Esses códigos de barras bidimensionais compactos, capazes de armazenar uma ampla gama de dados, incluindo URLs, texto, informações de contato, detalhes de produtos e muito mais, desempenham um papel crucial na comunicação moderna. Incorporar capacidades de geração de QR code em seu aplicativo ASP.NET MVC permite que você empodere os usuários ao gerar QR codes perfeitamente e melhorar a experiência deles, otimizar interações e facilitar a troca de informações sem esforço.

Se você está desenvolvendo um aplicativo ASP.NET MVC e deseja incorporar capacidades de geração de QR code, IronBarcode é uma excelente biblioteca que simplifica o processo. Neste artigo, exploraremos como gerar QR codes em ASP.NET MVC usando a biblioteca Iron Barcode.

IronBarcode

IronBarcode é uma biblioteca poderosa e rica em recursos para geração e reconhecimento de QR Code para aplicações .NET. Com IronBarcode, os desenvolvedores podem facilmente integrar a funcionalidade de código de barras e QR Code em seus projetos ASP.NET MVC, incluindo a capacidade de gerar QR codes. A biblioteca fornece um conjunto abrangente de ferramentas e APIs que simplificam o processo de criação e personalização de QR codes, permitindo que os desenvolvedores os adaptem aos seus requisitos específicos.

IronBarcode oferece suporte extensivo para vários tipos de código de barras, incluindo QR codes, tornando-o uma escolha ideal para projetos que requerem capacidades de geração de QR codes. Ela fornece aos desenvolvedores a flexibilidade para especificar os dados a serem codificados, controlar o tamanho e a resolução dos QR codes gerados e até adicionar elementos de estilo visual como cores e logotipos. A biblioteca garante uma geração de código de barras de alta qualidade com controle preciso sobre cada aspecto da aparência do QR code.

Além da geração de QR code, IronBarcode também inclui recursos robustos para leitura e decodificação de códigos de barras. Ela suporta escaneamento e extração de dados de QR codes, permitindo que aplicativos processem as informações codificadas neles. Essa funcionalidade é benéfica para cenários onde é necessário escaneamento de código de barras e extração de dados, como gerenciamento de inventário, sistemas de bilhetagem e aplicativos móveis.

Agora, vamos criar um projeto para gerar um QR code no aplicativo Web ASP.NET Core MVC.

Configurando o projeto

Antes de entrarmos nos detalhes da implementação, vamos garantir que seu projeto ASP.NET MVC esteja configurado e pronto para começar. Seja você iniciando um novo projeto ou trabalhando com um já existente, as etapas descritas abaixo guiarão você no processo de integrar a biblioteca Iron Barcode em seu aplicativo. No meu caso, criei um novo projeto.

As etapas para criar um novo projeto são as seguintes:

  1. Abra o Microsoft Visual Studio 2022.
  2. Na página inicial, clique em "Criar um novo projeto" ou vá para "Arquivo" > "Novo" > "Projeto" no menu superior.
  3. Na janela "Criar um novo projeto", você verá diferentes modelos de projeto para escolher. Escolha o modelo de projeto "Aplicativo web ASP.NET Core (Model-view-controller)" e clique em "Avançar".
  4. Insira um nome e local para o seu projeto. Escolha um local adequado no seu computador para salvar os arquivos do projeto.
  5. Selecione a versão do framework desejada. O Visual Studio normalmente sugere a versão estável mais recente, mas você pode escolher uma diferente, se necessário. Escolhi .NET 7.
  6. Personalize qualquer configuração adicional do projeto, como opções de autenticação ou pastas do projeto, de acordo com seus requisitos.
  7. Clique em "Criar" para criar o projeto.

O Visual Studio então gerará os arquivos do projeto e abrirá o explorador de soluções, onde você poderá ver a estrutura do projeto e começar a trabalhar no seu código.

Como gerar códigos QR no ASP.NET MVC: Figura 1

Agora, precisamos instalar a Biblioteca Iron Barcode em nosso aplicativo.

Instalar Iron Barcode

Para começar, abra o Console do Gerenciador de Pacotes no Visual Studio e execute o seguinte comando:

Install-Package IronBarCode

Este comando instalará a biblioteca Iron Barcode e adicionará as referências necessárias ao seu projeto.

Como gerar códigos QR no ASP.NET MVC: Figura 2

Agora, vamos escrever algum código para criar QR codes.

Criar QRCodeModel

Crie uma classe de modelo dentro da pasta Models e escreva o seguinte código:

using System.ComponentModel.DataAnnotations;

public class QRCodeModel
{
    [Display(Name = "Enter QR Code Text")]
    public string QRCodeText { get; set; }
}
using System.ComponentModel.DataAnnotations;

public class QRCodeModel
{
    [Display(Name = "Enter QR Code Text")]
    public string QRCodeText { get; set; }
}
$vbLabelText   $csharpLabel

Criar Controlador de Código QR

No seu projeto ASP.NET MVC, crie um novo controlador chamado QrCodeController. Para fazer isso, clique com o botão direito na pasta Controllers na estrutura do seu projeto, selecione 'Adicionar' e então escolha 'Controlador'. Das opções disponíveis, selecione 'Controlador MVC - Vazio'.

Escreva o seguinte código em QrCodeController:

using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;

public class QrCodeController : Controller
{
    private readonly IWebHostEnvironment _environment;

    public QrCodeController(IWebHostEnvironment environment)
    {
        _environment = environment;
    }

    public IActionResult CreateQRCode()
    {
        return View();
    }

    [HttpPost]
    public IActionResult CreateQRCode(QRCodeModel generateQRCode)
    {
        try
        {
            // Creating QR Code
            GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
            string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            string filePath = Path.Combine(path, "qrcode.png");
            barcode.SaveAsPng(filePath);

            string fileName = Path.GetFileName(filePath);
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";

            ViewBag.QrCodeUri = imageUrl;
        }
        catch (Exception ex)
        {
            // Handle exceptions
            // Log the exception details here for troubleshooting and debugging.
            throw;
        }

        return View();
    }
}
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System.IO;

public class QrCodeController : Controller
{
    private readonly IWebHostEnvironment _environment;

    public QrCodeController(IWebHostEnvironment environment)
    {
        _environment = environment;
    }

    public IActionResult CreateQRCode()
    {
        return View();
    }

    [HttpPost]
    public IActionResult CreateQRCode(QRCodeModel generateQRCode)
    {
        try
        {
            // Creating QR Code
            GeneratedBarcode barcode = QRCodeWriter.CreateQrCode(generateQRCode.QRCodeText);
            string path = Path.Combine(_environment.WebRootPath, "GeneratedQRCode");

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            string filePath = Path.Combine(path, "qrcode.png");
            barcode.SaveAsPng(filePath);

            string fileName = Path.GetFileName(filePath);
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedQRCode/{fileName}";

            ViewBag.QrCodeUri = imageUrl;
        }
        catch (Exception ex)
        {
            // Handle exceptions
            // Log the exception details here for troubleshooting and debugging.
            throw;
        }

        return View();
    }
}
$vbLabelText   $csharpLabel

Este código configura um controlador que pode gerar códigos QR. Quando a ação CreateQRCode é chamada, ela recebe o texto para o código QR, gera a imagem do código QR, salva e fornece o URL da imagem na visualização para exibição. Mais detalhes são os seguintes:

  • O controlador tem um construtor que recebe um parâmetro IWebHostEnvironment para acessar o ambiente de hospedagem web.
  • A ação CreateQRCode retorna uma visualização.
  • A ação CreateQRCode com o atributo [HttpPost] recebe um parâmetro QRCodeModel, que contém o texto do código QR.
  • Dentro da ação, um código QR é gerado usando a classe QRCodeWriter da biblioteca Iron Barcode.
  • O código QR gerado é salvo como um arquivo de imagem PNG em uma pasta chamada GeneratedQRCode no caminho raiz da web.
  • Se a pasta GeneratedQRCode não existir, ela é criada.
  • O caminho do arquivo e a URL para a imagem do código QR salvo são gerados.
  • O URL da imagem do código QR é armazenado na propriedade ViewBag.QrCodeUri para ser usado na visualização.
  • Quaisquer exceções que ocorram durante o processo são capturadas e registradas.

Adicionar Visualização CreateQRCode

Agora, para adicionar uma nova visualização, clique com o botão direito do mouse no método de ação CreateQRCode na classe QrCodeController. Selecione 'Adicionar Visão', então selecione 'Visão Razor' e clique no botão 'Adicionar'.

Como gerar códigos QR no ASP.NET MVC: Figura 3

Uma nova janela será aberta, conforme mostrado abaixo.

Como gerar códigos QR no ASP.NET MVC: Figura 4

Escreva o nome da visualização, selecione o modelo "Criar" e selecione nossa classe de modelo recém-criada QRCodeModel. Clique no Botão Adicionar. A visão será criada. Substitua sua visão pelo código abaixo.

@model QRCodeModel

@{
    ViewData["Title"] = "CreateQRCode";
}

<h1>Create QRCode in ASP.NET MVC</h1>

<hr />
<div class="row">
    <div class="col-md-4">
        <form asp-action="CreateQRCode">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
                <label asp-for="QRCodeText" class="control-label"></label>
                <input asp-for="QRCodeText" class="form-control" />
                <span asp-validation-for="QRCodeText" class="text-danger"></span>
            </div>
            <div class="form-group">
                <input type="submit" value="Create" class="btn btn-primary" />
            </div>
            <div class="form-group">
                @if (ViewBag.QrCodeUri != null)
                {
                    <img src="@ViewBag.QrCodeUri" class="img-thumbnail" alt="Generated QR Code" />
                }
            </div>
        </form>
    </div>
</div>

@section Scripts {
    @{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

Agora, vamos para a classe Program.cs e altere a Rota do Controller padrão.

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);
app.MapControllerRoute(
    name: "default",
    pattern: "{controller=QrCode}/{action=CreateQRCode}/{id?}"
);
$vbLabelText   $csharpLabel

Isso mudará a rota padrão de HomeController para nosso QrCodeController.

Agora, compile e execute o projeto.

Saída

Como gerar códigos QR no ASP.NET MVC: Figura 5

Insira o texto na caixa de texto e clique no botão criar. Um código QR será criado e exibido na tela como mostrado abaixo.

Como gerar códigos QR no ASP.NET MVC: Figura 6 - Código QR no ASP.NET

Agora, vamos adicionar estilo visual ao nosso código de barras adicionando texto de anotação, valor do Código QR e alterando a cor do Código QR.

Adicionar Estilo Visual no Código QR

Adicione a seguinte linha de código dentro do método de Ação CreateQRCode.

barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);
barcode.AddAnnotationTextAboveBarcode("QR Code Generated by Iron PDF");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ChangeBackgroundColor(System.Drawing.Color.White);
barcode.ChangeBarCodeColor(System.Drawing.Color.MediumVioletRed);
$vbLabelText   $csharpLabel

Agora, execute o projeto e gere o Código QR.

Como gerar códigos QR no ASP.NET MVC: Figura 7 - Gerar Código QR

Conclusão

No ASP.NET MVC, integrar o IronBarcode é direto. Ele fornece uma interface amigável ao usuário, facilitando o trabalho com códigos QR. Ao aproveitar o IronBarcode, você pode aprimorar seu aplicativo adicionando a funcionalidade de código QR, permitindo que os usuários compartilhem e acessem informações convenientemente. IronBarcode é uma biblioteca valiosa que simplifica o processo de geração de códigos QR e leitura de códigos QR no ASP.NET MVC. Ele capacita os desenvolvedores a criar aplicativos dinâmicos que utilizam o poder dos códigos QR para compartilhamento e recuperação de dados eficientes.

Iron Barcode é gratuito para uso pessoal. No entanto, para fins comerciais, você precisa comprar sua licença comercial, que vem com uma avaliação gratuita. Você também pode obter um desconto significativo se adquirir o Iron Suite completo. Iron Suite é uma coleção abrangente de componentes de software .NET projetados para simplificar tarefas de desenvolvimento e aprimorar a funcionalidade. Ele oferece cinco bibliotecas poderosas, incluindo Iron Barcode, IronOCR, IronPDF, IronXL e Iron Webscraper que permitem que os desenvolvedores trabalhem com códigos de barras, reconhecimento óptico de caracteres, processamento de PDF, Excel e arquivos CSV de maneira integrada. Você terá todos os cinco produtos pelo preço de dois se optar por comprar o Iron Suite completo.

Perguntas frequentes

Como faço para criar um código QR em ASP.NET MVC?

Você pode criar um código QR em ASP.NET MVC configurando um projeto no Visual Studio, instalando a biblioteca IronBarcode via NuGet com o comando Install-Package IronBarCode e usando as classes do IronBarcode para gerar um código QR dentro do seu controlador e exibi-lo em uma view.

Posso personalizar a aparência dos códigos QR no meu aplicativo?

Sim, o IronBarcode permite personalizar códigos QR ajustando tamanho, resolução, cores e adicionando logotipos ou anotações, o que pode melhorar o apelo visual e a funcionalidade dos seus códigos QR.

Como faço para exibir um código QR em uma view do ASP.NET MVC?

Após gerar um código QR com o IronBarcode, você pode exibi-lo em uma view ASP.NET MVC armazenando a URL da imagem no ViewBag e usando uma tag HTML dentro da sua view Razor para renderizar a imagem do código QR.

Como posso decodificar códigos QR com uma aplicação .NET?

É possível decodificar códigos QR em uma aplicação .NET usando o IronBarcode, que oferece funcionalidades para leitura e extração de dados de diversos formatos de código de barras, incluindo códigos QR, tornando-o adequado para aplicações como gestão de estoque e verificação de ingressos.

Existe alguma versão gratuita da biblioteca IronBarcode?

O IronBarcode é gratuito para uso pessoal, permitindo que desenvolvedores experimentem e testem seus recursos. Para uso comercial, é necessária uma licença, que pode ser adquirida e inclui um período de avaliação gratuito.

Quais são algumas aplicações de códigos QR em projetos ASP.NET MVC?

Em projetos ASP.NET MVC, os códigos QR podem ser usados para acesso rápido a sites, pagamentos sem contato, emissão de bilhetes, gestão de estoque e integração com aplicativos móveis, aprimorando a interação do usuário e a disseminação de informações.

Como faço para configurar um projeto ASP.NET MVC para geração de código QR?

Para configurar um projeto ASP.NET MVC para geração de códigos QR, use o Visual Studio para criar um novo aplicativo Web ASP.NET Core com o modelo 'Model-View-Controller' e, em seguida, instale a biblioteca IronBarcode para começar a gerar códigos QR em seu aplicativo.

Quais bibliotecas estão incluídas no pacote Iron Suite?

O pacote Iron Suite inclui diversas bibliotecas .NET, como Iron Barcode, Iron OCR, Iron PDF, Iron XL e Iron Webscraper, cada uma oferecendo funcionalidades especializadas para tarefas como geração de código de barras, reconhecimento óptico de caracteres, manipulação de PDF, processamento de Excel e extração de dados da web.

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