IRONSOFTWAREHOME

Como Criar um Scanner de Código QR no Blazor

Curtis Chau
Curtis Chau
Updated: 3 de março de 2026

Blazor Server é um framework web .NET que executa C# no servidor e envia atualizações de UI para o navegador por meio de uma conexão SignalR. IronQR se integra diretamente ao Blazor Server, permitindo a varredura de códigos QR do lado do servidor a partir de imagens carregadas no navegador sem qualquer JavaScript.

Neste guia passo a passo, construiremos uma página Blazor Server que aceita o upload de uma imagem e decodifica qualquer código QR embutido usando IronQR.

Pré-requisitos

  1. Visual Studio 2022 com o workload de ASP.NET e desenvolvimento web instalado
  2. Um projeto Blazor Server direcionado ao .NET 8 ou posterior

Instalar IronQR

Instale a biblioteca IronQR usando o Console do Gerenciador de Pacotes NuGet no Visual Studio. Navegue para Tools > NuGet Package Manager > Package Manager Console e execute:

PM > Install-Package IronQR

Alternativamente, procure por IronQR no NuGet e instale a última versão.

Layout do Componente Blazor

A UI do scanner usa o componente InputFile embutido do Blazor para seleção de arquivo nativa do navegador, um botão para acionar o scan, e um parágrafo para exibir o resultado decodificado. Não é necessária interoperabilidade com JavaScript.

Adicione um novo componente Razor Scanner.razor com a seguinte marcação:

@page "/scanner"
@using IronQr
@using IronSoftware.Drawing

<h3>QR Code Scanner</h3>

<InputFile OnChange="OnFileSelected" accept="image/*" />

<br /><br />

<button @onclick="ScanQRCode" disabled="@(qrImageSrc == null)">Scan QR Code</button>

<p>Result: @scannedText</p>
Text

Exemplo de Entrada

Use o código QR abaixo como imagem de teste. Salve-o em seu dispositivo, carregue-o via o seletor de arquivos no aplicativo, depois clique em Digitalizar Código QR. O valor decodificado deve ser exibido como https://ironsoftware.com.

QR code de exemplo codificando https://ironsoftware.com para testar o scanner de QR do Blazor

Código QR de exemplo — codifica https://ironsoftware.com

Digitalização de Código QR com IronQR

Quando um arquivo é selecionado, OnFileSelected transmite o upload do navegador para um arquivo temporário no servidor. Quando o botão de digitalização é clicado, ScanQRCode carrega o arquivo em um AnyBitmap, passa-o para QrReader.Read(), e grava o primeiro valor decodificado em scannedText, que o Blazor renderiza automaticamente no componente.

Adicione o seguinte bloco @code a Scanner.razor:

using IronQr;
using IronSoftware.Drawing;

private string? qrImageSrc;
private string scannedText = string.Empty;

private async Task OnFileSelected(InputFileChangeEventArgs e)
{
    var file = e.File;
    var tempPath = Path.Combine(Path.GetTempPath(), file.Name);
    await using var stream = file.OpenReadStream(maxAllowedSize: 10_000_000);
    await using var fs = File.Create(tempPath);
    await stream.CopyToAsync(fs);
    qrImageSrc = tempPath;
}

private async Task ScanQRCode()
{
    // Load the scanned QR code
    var inputBmp = AnyBitmap.FromFile(qrImageSrc!);
    var imageInput = new QrImageInput(inputBmp);
    var reader = new QrReader();

    // Read the scanned QR code
    var results = reader.Read(imageInput);

    // Check if a result was found
    var firstResult = results.FirstOrDefault();
    if (firstResult != null)
    {
        // Save the QR code value as a string
        scannedText = firstResult.Value;
    }
    else
    {
        scannedText = "No QR code found in the selected image.";
    }
}

InputFile.OpenReadStream transmite os bytes carregados diretamente para um arquivo temporário no lado do servidor. AnyBitmap.FromFile decodifica o formato da imagem, e QrReader.Read retorna um IEnumerable<QrResult> com uma entrada por código QR encontrado. FirstOrDefault lida com segurança com imagens sem código QR sem lançar uma exceção.

Saída

Depois de selecionar uma imagem de código QR e clicar em Digitalizar Código QR, o valor decodificado é renderizado no parágrafo de resultado abaixo dos controles.

Leitor de QR Code em Blazor usando IronQR — resultado decodificado exibido na página

Valor decodificado do código QR renderizado no componente Blazor

Baixar o Projeto

Clique aqui para baixar o projeto completo BlazorQrScanner.

Conclusão

IronQR se integra a um aplicativo Blazor Server sem JavaScript. InputFile fornece seleção de arquivos nativa do navegador, e QrReader.Read lida com a decodificação inteiramente no servidor. O mesmo padrão se adapta para digitalizar múltiplos códigos QR por imagem, iterando sobre a coleção completa de resultados ao invés de chamar FirstOrDefault.

Para mais informações sobre leitura de códigos QR e os modos de digitalização disponíveis, veja os guias Ler Códigos QR de Imagem e Ler Códigos QR com Modos de Digitalização.

Perguntas frequentes

Qual é o uso principal do IronQR em um aplicativo Blazor Server?

O IronQR é usado principalmente em um aplicativo Blazor Server para habilitar a leitura de códigos QR no servidor a partir de imagens carregadas via navegador, sem a necessidade de JavaScript.

Como você instala a biblioteca IronQR em um projeto Blazor?

Para instalar a biblioteca IronQR em um projeto Blazor, use o Console do Gerenciador de Pacotes NuGet no Visual Studio e execute o comando de instalação ou procure por 'IronQR' no NuGet e instale a versão mais recente.

Qual componente é usado no Blazor para lidar com uploads de imagem para leitura de código QR?

O componente `InputFile` é usado no Blazor para lidar com uploads de imagem, permitindo que os usuários selecionem imagens do navegador para leitura de código QR.

Como o IronQR decodifica códigos QR em um aplicativo Blazor?

Em um aplicativo Blazor, o IronQR decodifica códigos QR carregando a imagem selecionada em um `AnyBitmap` e, em seguida, usando `QrReader.Read()` para extrair e exibir os dados do código QR.

O IronQR consegue lidar com imagens com múltiplos códigos QR?

Sim, o IronQR consegue lidar com imagens com múltiplos códigos QR iterando sobre a coleção `IEnumerable` retornada por `QrReader.Read()`.

Você precisa de JavaScript para implementar a leitura de código QR com IronQR no Blazor?

Não, você não precisa de JavaScript para implementar a leitura de código QR com IronQR no Blazor, pois todo o processo é realizado no servidor.

Qual é o papel do `AnyBitmap` no processo de leitura do IronQR?

`AnyBitmap` é usado para decodificar o formato de imagem do arquivo carregado, preparando-o para leitura de código QR com IronQR.

Como o Blazor exibe o resultado de uma leitura de código QR?

O Blazor exibe o resultado de uma leitura de código QR renderizando o valor decodificado em um elemento parágrafo na interface do componente.

O que acontece se uma imagem sem código QR é carregada no leitor Blazor?

Se uma imagem sem código QR é carregada, chamar `FirstOrDefault` na `IEnumerable` retornada por `QrReader.Read()` lida com a situação com segurança sem lançar uma exceção.

É possível baixar o projeto completo do leitor de QR Blazor?

Sim, você pode baixar o projeto completo do leitor de QR Blazor através do link fornecido na página do guia.

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 bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 74,386Versão:2026.9recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package IronQR
nuget.org/packages/IronQR/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronQR".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

  1. Baixe e descompacte o IronQR em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronQR.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.