USANDO O IRONQR

Como usar o .NET MAUI para um leitor de código QR

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Com o aumento das aplicações móveis utilizando Códigos QR para obtenção rápida de informações, a necessidade por um leitor de Códigos QR eficiente e fácil de integrar, assim como um leitor de Barcode for .NET MAUI, está crescendo. .NET MAUI (Multi-platform App UI), o framework multiplataforma da Microsoft, fornece um ambiente unificado para construção de aplicações para iOS, Android, macOS e Windows. Ao escanear Códigos QR em um aplicativo .NET MAUI, os desenvolvedores precisam de uma biblioteca intuitiva e poderosa para gerenciar o processo.

IronQR é uma biblioteca popular que permite que desenvolvedores gerem e decodifiquem códigos QR rapidamente, com precisão e de forma confiável. Este artigo guiará você na integração do IronQR com .NET MAUI para construir um leitor de Códigos QR/Barcodes que possa trabalhar perfeitamente em várias plataformas.

Como implementar a Escaneamento de Código QR usando IronQR

  1. Crie um Projeto .NET MAUI.
  2. Instale o pacote NuGet do IronQR.
  3. Configure as permissões para câmera e armazenamento de arquivos.
  4. Implemente o Scanner de Código QR.

Introdução ao IronQR para Aplicativos Móveis .NET MAUI

IronQR é uma biblioteca poderosa e fácil de usar que simplifica a geração e decodificação de Códigos QR em aplicativos .NET, incluindo aplicativos móveis .NET MAUI para funcionalidade de escaneamento de QR e Barcode. Ele oferece soluções rápidas e confiáveis para integrar a funcionalidade de escaneamento de Códigos QR e Barcode em plataformas como iOS, Android, macOS e Windows, o que é essencial para construir aplicativos móveis multiplataforma.

Recursos do IronQR para Aplicativos Móveis .NET MAUI

  • Suporte Multiplataforma: Funciona perfeitamente nas plataformas iOS, Android, macOS e Windows dentro de aplicativos MAUI.
  • Escaneamento de Código QR: Decodifica eficientemente vários tipos de Códigos QR (URLs, texto, informações de contato, etc.). Ele também suporta múltiplos Barcodes lidos com algoritmos eficientes de detecção de Barcode.
  • Geração de Código QR: Permite a fácil geração de Códigos QR a partir de dados como URLs, textos e mais.
  • Gerenciamento de Permissão de Câmera: Gera automaticamente as solicitações de permissão de câmera, simplificando o processo de escaneamento.
  • Alto Desempenho: Escaneamento e geração de Código QR rápidos e confiáveis com uso mínimo de recursos.
  • Configurações Personalizáveis: Oferece opções de personalização para parâmetros de escaneamento e aparência do Código QR.
  • Integração Fácil: API simples e configuração mínima são necessárias para adicionar escaneamento e geração de Código QR ao seu aplicativo .NET MAUI.
  • Tratamento de Erros: Fornece mensagens de erro detalhadas e resolução de problemas, garantindo uma funcionalidade suave em vários cenários.
  • Sem Dependências Externas: O IronQR opera de forma independente, reduzindo a necessidade de bibliotecas de terceiros ou configurações complexas, ao contrário do scanner de Barcode ZXing.
  • Suporte a Múltiplos Formatos: Suporta múltiplos formatos de Código QR, garantindo compatibilidade com uma ampla gama de Códigos QR usados no mundo real.

Pré-requisitos

Antes de prosseguir com a implementação, certifique-se de ter os seguintes pré-requisitos:

  1. Visual Studio 2022 ou posterior instalado.
  2. .NET 6.0 SDK ou posterior (já que o .NET MAUI é construído no .NET 6 e versões posteriores).
  3. Pacote NuGet IronQR para escaneamento de Código QR e detecção de Barcode.
  4. Aplicativo .NET MAUI (Você pode criar um novo aplicativo MAUI no Visual Studio se ainda não tiver um).

Passo 1: Crie um Projeto .NET MAUI

Para começar, vamos criar um projeto simples .NET MAUI:

  1. Abra o Visual Studio e clique em Criar um novo projeto.
  2. Selecione o modelo de Aplicativo .NET MAUI.

Novo Projeto

  1. Nomeie o projeto (por exemplo, MauiQRCodeScanner), selecione um local e clique em Próximo.

Configuração do Projeto

Selecione a versão do .NET necessária e clique em Criar.

Framework de Destino

Passo 2: Instale o pacote NuGet do IronQR

IronQR é uma biblioteca de terceiros que fornece funcionalidades de geração e escaneamento de Código QR. Para instalar o IronQR, você precisa adicioná-lo via NuGet:

  1. No Visual Studio, clique com o botão direito em Dependências no seu Explorador de Soluções.
  2. Clique em Gerenciar Pacotes NuGet.
  3. Na aba Procurar, pesquise por IronQR e clique em Instalar no pacote relevante (geralmente IronQR ou IronQr.Maui se disponível especificamente para MAUI).
  4. Aceite quaisquer licenças e certifique-se de que a biblioteca seja instalada.

IronQR

Passo 3: Configure as Permissões para câmera e armazenamento de arquivos

Para que seu aplicativo escaneie Códigos QR, será necessário solicitar permissões de câmera em plataformas móveis (iOS e Android). Veja como você pode adicionar as seguintes permissões.

Android

No arquivo AndroidManifest.xml, adicione a permissão de câmera:

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
XML

iOS

No arquivo Info.plist, adicione a descrição de uso da câmera:

<key>NSCameraUsageDescription</key>
<string>We need access to your camera to scan QR codes</string>
XML

Passo 4: Implemente o Scanner de Código QR

Agora, vamos criar uma interface de usuário simples para o nosso scanner de QR no aplicativo de escaneamento de Barcode MAUI. Usaremos o Botão para acionar o processo de escaneamento e um Rótulo para exibir o texto escaneado do Código QR.

Edite o arquivo MainPage.xaml no namespace XML.

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             x:Class="MauiQRCodeScanner.MainPage">

    <StackLayout Padding="20" VerticalOptions="Center">
        <Button x:Name="scanButton" Text="Scan QR Code" Clicked="OnScanButtonClicked" />
        <Label x:Name="resultLabel" Text="Scan Result will appear here" HorizontalOptions="Center" VerticalOptions="CenterAndExpand"/>
    </StackLayout>
</ContentPage>
XML

Agora, no MainPage.xaml.cs, você irá lidar com as permissões da câmera e a lógica de leitura do Código QR. Veja como implementá-lo:

using IronQrCode;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Essentials;

namespace MauiQRCodeScanner
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            License.LicenseKey = "Your key";  // Add your IronQR license key here
            InitializeComponent();
        }

        // OnScanButtonClicked method with object sender as input
        private async void OnScanButtonClicked(object sender, EventArgs e)
        {
            // Check for camera permission
            var status = await Permissions.RequestAsync<Permissions.Camera>();
            if (status != PermissionStatus.Granted)
            {
                await DisplayAlert("Permission Denied", "Cannot scan QR codes without camera permission", "OK");
                return;
            }

            // Start scanning QR codes
            try
            {
                var images = await FilePicker.Default.PickAsync(new PickOptions
                {
                    PickerTitle = "Pick image",
                    FileTypes = FilePickerFileType.Images
                });
                var imageSource = images.FullPath.ToString();

                var inputBmp = AnyBitmap.FromFile(imageSource);
                // Load the asset into QrImageInput
                QrImageInput imageInput = new QrImageInput(inputBmp);

                // Create a QR Reader object
                QrReader reader = new QrReader();

                // Read the input and get all embedded QR Codes
                IEnumerable<QrResult> results = reader.Read(imageInput);

                if (results.Any())
                {
                    resultLabel.Text = "Scanned Text: " + results.First().Value; 
        // Display the result
                }
                else
                {
                    resultLabel.Text = "No QR code detected";
                }
        }
        catch (Exception ex)
        {
            resultLabel.Text = "Error: " + ex.Message;
        }
        }
    }
}

Explicação do código

  • Permissões: Solicitamos permissões de câmera usando Permissions.RequestAsync<Permissions.Camera>(). Se a permissão for negada, é mostrada um alerta ao usuário.
  • Scanner IronQR: Use objetos e métodos da biblioteca IronQR para escanear Códigos QR. O método QrReader.Read() tenta decodificar os Códigos QR, e o resultado é mostrado no rótulo.

Insira o código QR

Entrada de Código QR

Saída

Saída do Código QR

Selecione o Código QR necessário ou capture-o do feed da Câmera.

Selecionar Código QR

O resultado é exibido na UI conforme abaixo.

Saída da UI do Código QR

Licença IronQR (Versão de Avaliação Disponível)

O IronQR funciona com uma chave de licença no código do aplicativo móvel. Os desenvolvedores podem obter facilmente uma licença de avaliação na página de licença. Coloque a licença em algum lugar no código como abaixo antes de usar a biblioteca IronQR.

License.LicenseKey = "Your License";

Conclusão

Neste artigo, percorremos o processo de construção de um scanner de Código QR em uma aplicação .NET MAUI usando IronQR. Começamos configurando um aplicativo .NET MAUI, instalamos o pacote IronQR e implementamos a UI e a lógica de escaneamento. O IronQR torna o escaneamento de Código QR em um aplicativo .NET MAUI incrivelmente simples e eficaz.

A biblioteca IronQR é projetada para ser multiplataforma, garantindo que aplicativos construídos com .NET MAUI possam acessar a funcionalidade de Código QR de maneira consistente em todos os dispositivos-alvo, sejam eles smartphones, tablets ou sistemas de desktop. O IronQR também suporta recursos como o manuseio automático de permissões de câmera, tornando mais fácil integrar o escaneamento de Código QR sem o incômodo de gerenciar permissões manualmente.

Em resumo, o IronQR for .NET MAUI permite que desenvolvedores implementem rapidamente recursos de escaneamento e geração de Código QR em seus aplicativos móveis, simplificando o desenvolvimento e melhorando a experiência do usuário em todas as plataformas.

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.

Leia mais

Artigos relacionados