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

Como gerar um código QR em .NET MAUI

Neste artigo, exploraremos como criar um gerador de código QR usando o .NET MAUI, uma estrutura moderna para a criação de aplicativos multiplataforma. Vamos aproveitar a biblioteca IronBarcode para gerar códigos QR e exibi-los na tela.

O que é .NET MAUI?

.NET MAUI (Multi-platform App UI) é uma evolução do framework Xamarin Forms que permite aos desenvolvedores criar interfaces de usuário nativas para várias plataformas usando uma única base de código. Com o .NET MAUI, você pode criar aplicativos para Android, iOS, macOS, Windows e mais, reduzindo o tempo e esforço de desenvolvimento.

Apresentando IronBarcode

IronBarcode é uma poderosa biblioteca de geração de código de barras e QR para aplicativos .NET. Ela oferece uma API fácil de usar para criar vários tipos de códigos de barras, incluindo códigos QR, com configurações personalizáveis como tamanho, correção de erros e opções de codificação.

Configurando o Projeto .NET MAUI

Para começar, precisamos criar um novo projeto .NET MAUI no Microsoft Visual Studio 2022. Você também pode usar o Microsoft Visual Studio Code, mas os passos serão diferentes. No entanto, é recomendado usar o Visual Studio. Siga os passos a seguir para criar o projeto.

Abra o Visual Studio 2022. A seguinte tela aparecerá conforme mostrado abaixo.

Como Gerar Código QR em .NET MAUI: Figura 1 - IDE do Visual Studio 2022

Clique em Criar um Novo Projeto e Pesquise o modelo MAUI conforme mostrado abaixo.

Como Gerar Código QR em .NET MAUI: Figura 2

Selecione o Modelo de Aplicativo .NET MAUI e clique no botão Avançar. A seguinte janela será exibida.

Como Gerar Código QR em .NET MAUI: Figura 3

Nomeie seu projeto, selecione o local e clique no botão Avançar, a janela seguinte aparecerá conforme mostrado abaixo.

Como Gerar Código QR em .NET MAUI: Figura 4

Selecione .NET Framework. Eu selecionei .NET 7, você também pode selecionar .NET 6.0. O projeto será criado conforme mostrado abaixo.

Como Gerar Código QR em .NET MAUI: Figura 5

Este tutorial foca principalmente na implantação inicial de uma aplicação .NET MAUI em uma máquina local com Windows. Você pode configurá-la em um simulador Android ou iOS conforme seu requisito com a mesma base de código.

Para implantar uma aplicação .NET MAUI na sua máquina local com Windows, você pode seguir estes passos usando o Visual Studio:

  1. Certifique-se de que o destino de depuração está definido para "Máquina do Windows". Se não estiver, selecione "Máquina do Windows" no menu suspenso na barra de ferramentas.
  2. Clique no botão "Iniciar Depuração" ou pressione F5 para compilar e executar o aplicativo em sua máquina com Windows.

    Como Gerar Código QR em .NET MAUI: Figura 6

Se o Modo Desenvolvedor não estiver ativado na sua máquina com Windows, o Visual Studio irá solicitar que você o ative. Para fazer isso, siga estes passos:

  1. Na caixa de diálogo "Ativar Modo Desenvolvedor para Windows" exibida pelo Visual Studio, localize o link rotulado "configurações para desenvolvedores."

    Como Gerar Código QR em .NET MAUI: Figura 7

  2. Clique no link "configurações para desenvolvedores". Isso abrirá o aplicativo Configurações na sua máquina com Windows.
  3. Ative a chave sob Modo Desenvolvedor conforme mostrado abaixo.

    Como Gerar Código QR em .NET MAUI: Figura 8

Execute o Projeto uma vez que o modo desenvolvedor está ativado. A seguinte janela será exibida:

Como Gerar Código QR em .NET MAUI: Figura 9

Este é o aplicativo modelo que é automaticamente criado pelo Visual Studio 2022 ao criar o projeto. Agora vamos instalar o IronBarcode e alterar o código conforme nossa necessidade.

Instalar IronBarcode

Para instalar IronBarcode, abra o Console do Gerenciador de Pacotes NuGet. Para abrir o Console do Gerenciador de Pacotes no Visual Studio, você pode seguir estes passos:

  1. Inicie o Visual Studio na sua máquina Windows.
  2. Abra o projeto com o qual deseja trabalhar ou crie um novo projeto.
  3. No menu do Visual Studio, vá para "Ferramentas".
  4. No menu suspenso, clique em "Gerenciador de Pacotes NuGet".
  5. Outro menu suspenso aparecerá, e você deve selecionar "Console do Gerenciador de Pacotes".

A janela do Console do Gerenciador de Pacotes será aberta, fornecendo a você uma interface de linha de comando para gerenciar pacotes NuGet em seu projeto. Escreva o seguinte comando no Console do Gerenciador de Pacotes para instalar o IronBarcode.

Install-Package BarCode

Isso adicionará a biblioteca IronBarcode ao seu projeto e a tornará disponível para uso.

Como Gerar Código QR em .NET MAUI: Figura 10

Gerador de Código QR .NET MAUI usando IronBarcode

Agora, vamos escrever o código para criar nosso próprio aplicativo móvel Gerador de Código QR. Para exibir o código QR gerado na tela, vamos aproveitar as capacidades do .NET MAUI. Abra o arquivo MainPage.xaml e substitua-o pelo seguinte código.

<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="QrCodeGeneratorMAUI.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">

            <Label
                Text="Hello!"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="32"
                HorizontalOptions="Center" />

            <Label
                Text="Welcome to QR Code Generator .NET Multi-platform App UI"
                SemanticProperties.HeadingLevel="Level2"
                SemanticProperties.Description="Welcome to QR Code Generator dot Net Multi platform App U I"
                FontSize="18"
                HorizontalOptions="Center" />

            <Entry x:Name="qrCodeText"
                   Placeholder="Enter QR Code"/>

            <Image
                x:Name="qrCodeImage"
                HeightRequest="200"
                HorizontalOptions="Center" />

            <Button
                x:Name="CounterBtn"
                Text="Generate QR Code"
                Clicked="OnButtonClicked"
                HorizontalOptions="Center" />

        </VerticalStackLayout>
    </ScrollView>
</ContentPage>
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="QrCodeGeneratorMAUI.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">

            <Label
                Text="Hello!"
                SemanticProperties.HeadingLevel="Level1"
                FontSize="32"
                HorizontalOptions="Center" />

            <Label
                Text="Welcome to QR Code Generator .NET Multi-platform App UI"
                SemanticProperties.HeadingLevel="Level2"
                SemanticProperties.Description="Welcome to QR Code Generator dot Net Multi platform App U I"
                FontSize="18"
                HorizontalOptions="Center" />

            <Entry x:Name="qrCodeText"
                   Placeholder="Enter QR Code"/>

            <Image
                x:Name="qrCodeImage"
                HeightRequest="200"
                HorizontalOptions="Center" />

            <Button
                x:Name="CounterBtn"
                Text="Generate QR Code"
                Clicked="OnButtonClicked"
                HorizontalOptions="Center" />

        </VerticalStackLayout>
    </ScrollView>
</ContentPage>
XML

O código XAML acima representa uma página .NET MAUI que gera códigos QR. Aqui está uma explicação simples dos componentes .NET MAUI:

  • <Label>: Exibe texto na tela. Neste aplicativo, é usado para mostrar uma mensagem de boas-vindas e um cabeçalho para fornecer informações e instruções ao usuário.
  • <Entry>: Fornece um campo de entrada de texto para o usuário. Neste aplicativo, permite que o usuário insira o conteúdo que deseja codificar em um código QR.
  • <Image>: Exibe uma imagem na tela. Neste aplicativo, é usado para mostrar a imagem do código QR gerado ao usuário após eles clicarem no botão gerar.
  • <Button>: Representa um botão clicável. Permite que o usuário dispare uma ação ao ser clicado. Nesta aplicação, o botão é usado para iniciar a geração do código QR com base no conteúdo inserido pelo usuário no campo <Entry>.

Esses componentes juntos criam uma interface onde o usuário pode inserir texto, clicar em um botão e ver o código QR correspondente exibido na tela.

Agora, vamos escrever o código de backend para gerar o Código QR. Abra o arquivo MainPage.xaml.cs e atualize a classe de código-por-trás conforme segue:

using IronBarCode;

namespace QrCodeGeneratorMAUI
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void OnButtonClicked(object sender, EventArgs e)
        {
            // Get the text from the entry field
            string text = qrCodeText.Text;

            // Generate the QR code using the IronBarcode library
            var qrCode = QRCodeWriter.CreateQrCode(text);

            // Convert the QR code to binary JPEG data
            var qrCodeBytes = qrCode.ToJpegBinaryData();

            // Set the QR code image source to display the generated QR code on the UI
            qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
        }
    }
}
using IronBarCode;

namespace QrCodeGeneratorMAUI
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private void OnButtonClicked(object sender, EventArgs e)
        {
            // Get the text from the entry field
            string text = qrCodeText.Text;

            // Generate the QR code using the IronBarcode library
            var qrCode = QRCodeWriter.CreateQrCode(text);

            // Convert the QR code to binary JPEG data
            var qrCodeBytes = qrCode.ToJpegBinaryData();

            // Set the QR code image source to display the generated QR code on the UI
            qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
        }
    }
}
$vbLabelText   $csharpLabel

Aqui está a explicação do código.

  1. O método OnButtonClicked é um manipulador de eventos para o evento de clique de um botão. Quando o botão é clicado, este método é executado.
  2. Dentro do método OnButtonClicked, o texto contido no campo de entrada qrCodeText é atribuído à variável texto.
  3. QRCodeWriter.CreateQrCode(text) é usado para criar um código QR com base no texto inserido.
  4. qrCode.ToJpegBinaryData() converte o código QR em dados binários JPEG.
  5. qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes)) define a fonte do controle qrCodeImage para exibir a imagem do código QR gerado.

Executar o Aplicativo .NET MAUI

Vamos executar o projeto para testar a funcionalidade. Pressione F5 para executar o aplicativo na máquina Windows. A seguinte tela aparecerá ao executar o projeto.

Insira o texto que deseja codificar e pressione o Botão Gerar Código QR. O Código QR será gerado e exibido na tela conforme mostrado abaixo.

Como Gerar Código QR em .NET MAUI: Figura 11

Adicionar Anotação e Valor do Código QR

Agora, desenvolvemos um Gerador de Código QR com funcionalidades básicas. Vamos torná-lo mais funcional, acrescentando anotação de Código QR e valor do Código QR ao nosso Código QR. Altere o método OnButtonClicked conforme mostrado no código fonte a seguir.

private void OnButtonClicked(object sender, EventArgs e)
{
    // Get the text from the entry field
    string text = qrCodeText.Text;

    // Generate the QR code using the IronBarcode library
    var qrCode = QRCodeWriter.CreateQrCode(text);

    // Add the text of the QR code value below the generated barcode
    qrCode.AddBarcodeValueTextBelowBarcode();

    // Add an annotation text above the barcode
    qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App");

    // Convert the QR code to binary JPEG data
    var qrCodeBytes = qrCode.ToJpegBinaryData();

    // Set the QR code image source to display the generated QR code on the UI
    qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
private void OnButtonClicked(object sender, EventArgs e)
{
    // Get the text from the entry field
    string text = qrCodeText.Text;

    // Generate the QR code using the IronBarcode library
    var qrCode = QRCodeWriter.CreateQrCode(text);

    // Add the text of the QR code value below the generated barcode
    qrCode.AddBarcodeValueTextBelowBarcode();

    // Add an annotation text above the barcode
    qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App");

    // Convert the QR code to binary JPEG data
    var qrCodeBytes = qrCode.ToJpegBinaryData();

    // Set the QR code image source to display the generated QR code on the UI
    qrCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
$vbLabelText   $csharpLabel
  • qrCode.AddBarcodeValueTextBelowBarcode() adiciona o texto do valor do código QR abaixo do código de barras gerado.
  • qrCode.AddAnnotationTextAboveBarcode("My QR Code Generated by .NET MAUI App") adiciona um texto de anotação acima do código de barras, especificando que foi gerado por um aplicativo .NET MAUI.

O Visual Studio 2022 oferece uma opção de Hot Reload para o aplicativo .NET MAUI. Após alterar o método OnButtonClicked, você pode clicar em Hot Reload, e as alterações aparecerão; você pode não precisar fechar e reconstruir o aplicativo.

Insira o texto que deseja codificar e pressione o Botão Gerar Código QR. O Código QR será gerado conforme mostrado abaixo.

Como Gerar Código QR em .NET MAUI: Figura 12 - Gerador de QrCode

O IronBarcode fornece outras funcionalidades úteis, como adicionar imagens, colorir e redimensionar o código QR, etc. Para tutoriais mais detalhados tutoriais e exemplos de código, você pode consultar sua documentação oficial.

Gerador de Código de Barras .NET MAUI

Você também pode criar um gerador de Código de Barras .NET MAUI com a ajuda da biblioteca IronBarcode. Você só precisa fazer uma pequena alteração no código, e estará pronto para começar, conforme mostrado no exemplo de código a seguir.

private void OnButtonClicked(object sender, EventArgs e)
{
    // Get the text from the entry field
    string text = barCodeText.Text;

    // Generate the barcode using the IronBarcode library with Code128 encoding
    var barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128);

    // Add the text of the barcode value below the generated barcode
    barCode.AddBarcodeValueTextBelowBarcode();

    // Add an annotation text above the barcode
    barCode.AddAnnotationTextAboveBarcode("My Barcode Generated by .NET MAUI App");

    // Convert the barcode to binary JPEG data
    var qrCodeBytes = barCode.ToJpegBinaryData();

    // Set the barcode image source to display the generated barcode on the UI
    barCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
private void OnButtonClicked(object sender, EventArgs e)
{
    // Get the text from the entry field
    string text = barCodeText.Text;

    // Generate the barcode using the IronBarcode library with Code128 encoding
    var barCode = BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Code128);

    // Add the text of the barcode value below the generated barcode
    barCode.AddBarcodeValueTextBelowBarcode();

    // Add an annotation text above the barcode
    barCode.AddAnnotationTextAboveBarcode("My Barcode Generated by .NET MAUI App");

    // Convert the barcode to binary JPEG data
    var qrCodeBytes = barCode.ToJpegBinaryData();

    // Set the barcode image source to display the generated barcode on the UI
    barCodeImage.Source = ImageSource.FromStream(() => new MemoryStream(qrCodeBytes));
}
$vbLabelText   $csharpLabel

Saída

Como Gerar Código QR em .NET MAUI: Figura 13 - Gerador de Código de Barras

Além de aprender como criar um gerador de código QR usando .NET MAUI e a biblioteca IronBarcode, vale mencionar a questão de preços do IronBarcode.

IronBarcode é gratuito para desenvolvimento e oferece uma licença de teste gratuita e diferentes planos de preços para atender a várias necessidades para fins comerciais. O preço é baseado nas opções de licenciamento, que incluem licenças perpétuas para implantação no local, bem como licenças baseadas em assinatura para implantações na nuvem.

Como Gerar Código QR em .NET MAUI: Figura 14

Conclusão

Neste artigo, aprendemos como criar um gerador de código QR e um Gerador de Código de Barras usando .NET MAUI e a biblioteca IronBarcode. Exploramos as etapas para instalar o IronBarcode, criar códigos QR e exibi-los na tela usando o controle de imagem do .NET MAUI.

.NET MAUI oferece um poderoso framework para construção de aplicativos multiplataforma, e o IronBarcode simplifica o processo de geração de códigos de barras e códigos QR. Combinando essas tecnologias, você pode criar aplicativos versáteis e eficientes que aproveitam os recursos de dispositivos modernos.

Perguntas frequentes

O que é .NET MAUI e qual a sua diferença em relação ao Xamarin Forms?

.NET MAUI (Multi-platform App UI) é uma evolução do framework Xamarin Forms que permite aos desenvolvedores criar interfaces de usuário nativas para múltiplas plataformas usando uma única base de código. Ele oferece suporte a Android, iOS, macOS, Windows e muito mais, proporcionando uma experiência de desenvolvimento simplificada em comparação com o Xamarin Forms.

Como posso gerar um código QR em uma aplicação .NET MAUI?

Para gerar um código QR em um aplicativo .NET MAUI, utilize a biblioteca IronBarcode. Primeiro, adicione o IronBarcode via NuGet, configure a interface de usuário MAUI e utilize o método CreateQrCode do IronBarcode para gerar um código QR a partir de uma string.

Quais são os passos para configurar um projeto .NET MAUI no Visual Studio?

Para configurar um projeto .NET MAUI no Visual Studio 2022, abra o Visual Studio, crie um novo projeto, procure o modelo MAUI, selecione o modelo de aplicativo .NET MAUI e siga as instruções de configuração fornecidas pelo Visual Studio.

Como faço para exibir um código QR em um aplicativo .NET MAUI?

Para exibir um código QR em um aplicativo .NET MAUI, use o método CreateQrCode do IronBarcode para gerar o código QR e convertê-lo em dados binários com ToJpegBinaryData . Em seguida, você pode exibi-lo na interface do usuário usando um controle Image.

Posso adicionar anotações a um código QR em um projeto .NET MAUI?

Sim, você pode adicionar anotações a um código QR em um projeto .NET MAUI usando o IronBarcode. Utilize métodos como AddBarcodeValueTextBelowBarcode e AddAnnotationTextAboveBarcode para adicionar anotações de texto acima e abaixo do código QR.

O IronBarcode pode ser usado gratuitamente em aplicações .NET MAUI?

O IronBarcode é gratuito para desenvolvimento e oferece um período de teste gratuito. Para uso comercial, estão disponíveis diversos planos de preços e opções de licenciamento, permitindo que os desenvolvedores escolham de acordo com as necessidades de seus projetos.

Como faço para criar um gerador de código de barras com .NET MAUI?

Para criar um gerador de código de barras com .NET MAUI, você pode usar a biblioteca IronBarcode modificando o código de geração de código QR. Use o método BarcodeWriter.CreateBarcode com a codificação desejada para gerar diferentes tipos de códigos de barras.

Quais são as vantagens de usar o IronBarcode com o .NET MAUI?

A utilização do IronBarcode com .NET MAUI permite que os desenvolvedores gerem e manipulem códigos de barras e códigos QR de forma eficiente em diversas plataformas com uma única base de código. Ele oferece recursos robustos, como tamanho personalizável, correção de erros e opções de codificação, aprimorando as capacidades de aplicativos multiplataforma.

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