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

Crie e leia imagens de código de barras Xamarin com uma biblioteca de digitalização C# moderna.

As soluções de código de barras para Xamarin continuam essenciais para desenvolvedores móveis que mantêm aplicativos Android e iOS em varejo, logística e gerenciamento de inventário. Embora a Microsoft tenha encerrado o suporte oficial ao Xamarin em maio de 2024, milhões de aplicativos Xamarin ainda estão em produção, e esses aplicativos ainda precisam criar, escanear e decodificar códigos de barras de forma confiável. O IronBarcode é um SDK de código de barras .NET que lida com a geração e leitura de códigos de barras com apenas algumas linhas de código C#. Ele funciona como um scanner e gerador de códigos de barras em plataformas Android, iOS e Windows, e faz a transição diretamente para o .NET MAUI quando chegar o momento de migração do seu projeto.

Inicie uma avaliação gratuita do IronBarcode e adicione leitura de código de barras ao seu projeto Xamarin hoje.

Como Funciona a Digitalização de Código de Barras em Aplicativos Xamarin?

A digitalização de código de barras em um aplicativo Xamarin funciona capturando informações de código de barras a partir de uma transmissão de câmera ou um arquivo salvo no dispositivo, e então passando esses dados para uma biblioteca de digitalização que decodifica a informação codificada. Historicamente, muitos desenvolvedores Xamarin usaram a biblioteca de código aberto ZXing (Zebra Crossing), criando uma nova instância de ZXingScannerPage, colocando-a na pilha de navegação e lidando com o evento OnScanResult para processar códigos de barras. Embora essa abordagem tenha funcionado para casos de uso básico de digitalização de QR codes no Xamarin.Forms, o ZXing não recebeu correções importantes de bugs há anos, e os desenvolvedores frequentemente relataram condições de erro ao escanear códigos de barras em baixa luminosidade ou ao decodificar formatos complexos como o Data Matrix.

O IronBarcode é um SDK moderno de scanner de código de barras que adota uma abordagem diferente. Em vez de fornecer uma página de scanner dedicada com uma interface de câmera ao vivo, o IronBarcode opera em qualquer fonte que seu aplicativo Xamarin possa fornecer, capturas de câmera, arquivos enviados pelo usuário, capturas de tela ou documentos PDF. Isso o torna uma biblioteca de digitalização flexível para projetos de código de barras Xamarin onde os desenvolvedores precisam de controle total sobre a interface do usuário e o processo de digitalização. A classe BarcodeReader suporta mais de 30 formatos de código de barras e QR codes, e o SDK inclui filtros de pré-processamento integrados que melhoram o desempenho da digitalização de códigos de barras em condições de baixa luminosidade ou com códigos de barras danificados.

Instale o pacote IronBarcode NuGet na sua solução Xamarin para começar:

Install-Package BarCode

O pacote BarCode está disponível no NuGet e suporta .NET Standard 2.0, tornando-o compatível com projetos nativos Xamarin.Forms, Xamarin e o framework MAUI da Microsoft. Nenhum pacote NuGet adicional específico para plataforma ou etapas de configuração são necessários para os recursos principais do SDK, instale o pacote e teste-o imediatamente em seu projeto.

Como Criar Códigos de Barras e Códigos QR em um App Xamarin?

Gerar códigos de barras para exibição na tela do dispositivo, para rotulagem ou para troca de dados é simples com a classe BarcodeWriter do IronBarcode. O exemplo abaixo é um exemplo comum para aplicativos de código de barras Xamarin que precisam produzir códigos de barras 1D e 2D.

using IronBarCode;
// Barcode generation: create a Code 128 barcode for product scanning
// Comment: BarcodeWriter handles all supported encoding formats
var barcode = BarcodeWriter.CreateBarcode(
    "PROD-2025-XMR",              // Value to encode in the barcode
    BarcodeWriterEncoding.Code128, // Barcode format for the scanner
    400, 150                       // Width and height in pixels
);
// Customize the barcode: add visible text below the barcode image
// Comment: this text helps users verify the encoded value
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPng("product_barcode.png");
// Generate a QR code that users can scan with any mobile device camera
// Comment: QR codes are ideal for URLs, contact data, and Wi-Fi config
var qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com",
    BarcodeWriterEncoding.QRCode,
    300, 300
);
// Configure margins and export the QR code as image lines of pixels
qrCode.SetMargins(10);
qrCode.SaveAsPng("qr_code.png");
using IronBarCode;
// Barcode generation: create a Code 128 barcode for product scanning
// Comment: BarcodeWriter handles all supported encoding formats
var barcode = BarcodeWriter.CreateBarcode(
    "PROD-2025-XMR",              // Value to encode in the barcode
    BarcodeWriterEncoding.Code128, // Barcode format for the scanner
    400, 150                       // Width and height in pixels
);
// Customize the barcode: add visible text below the barcode image
// Comment: this text helps users verify the encoded value
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPng("product_barcode.png");
// Generate a QR code that users can scan with any mobile device camera
// Comment: QR codes are ideal for URLs, contact data, and Wi-Fi config
var qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com",
    BarcodeWriterEncoding.QRCode,
    300, 300
);
// Configure margins and export the QR code as image lines of pixels
qrCode.SetMargins(10);
qrCode.SaveAsPng("qr_code.png");
$vbLabelText   $csharpLabel

Imagem de Saída do Código de Barras

Crie e Leia Imagens de Código de Barras Xamarin com uma Biblioteca de Digitalização C# Moderna: Imagem 1 - Código de barras gerado

O código acima demonstra a geração de códigos de barras do IronBarcode em apenas algumas linhas de código, cada comentário no exemplo de código destaca o propósito de cada etapa. Ele aceita os dados a serem codificados, o formato do código de barras da enumeração BarcodeWriterEncoding e as dimensões de saída. O SDK do IronBarcode suporta uma ampla gama de tipos de codificação, incluindo EAN-13, Code 39, código QR, Data Matrix, PDF417 e Aztec. Após criar uma instância de GeneratedBarcode, você pode personalizá-la extensivamente: use ResizeTo() para ajustar dimensões, SetMargins() para configurar margens e AddAnnotationTextAboveBarcode() para adicionar rótulos visíveis. Você pode exportar os códigos de barras gerados como PNG, JPEG, GIF, TIFF ou PDF, tudo sem escrever código específico de plataforma para Android ou iOS.

Para recursos avançados, como adicionar logotipos a códigos QR ou personalizar cores do código de barras, explore o tutorial de geração de código de barras e a página de exemplo de código para criar código de barras.

Como Ler e Decodificar Códigos de Barras de Fontes de Câmera e Arquivo?

Ler códigos de barras de imagens capturadas pela câmera do dispositivo ou selecionadas da biblioteca de fotos do usuário é onde o IronBarcode oferece o maior valor como solução de código de barras para Xamarin. O processo de digitalização lida com tudo, desde códigos de barras digitais imaculados até capturas de câmera do mundo real desafiadoras, com um método consistente.

using IronBarCode;
// Comment: read and decode barcodes from a camera-captured file
var results = BarcodeReader.Read("scanned_photo.png");
// Iterate through each barcode scanning result
foreach (var result in results)
{
    // Comment: access the decoded barcode value and format type
    string value = result.Value;
    string type = result.BarcodeType.ToString();
    // Display the scanned barcode data to the user on screen
    Console.WriteLine($"Type: {type}, Value: {value}");
}
using IronBarCode;
// Comment: read and decode barcodes from a camera-captured file
var results = BarcodeReader.Read("scanned_photo.png");
// Iterate through each barcode scanning result
foreach (var result in results)
{
    // Comment: access the decoded barcode value and format type
    string value = result.Value;
    string type = result.BarcodeType.ToString();
    // Display the scanned barcode data to the user on screen
    Console.WriteLine($"Type: {type}, Value: {value}");
}
$vbLabelText   $csharpLabel

Lendo Dados de Código de Barras

Crie e Leia Imagens de Código de Barras Xamarin com uma Biblioteca de Digitalização C# Moderna: Imagem 2 - Valor impresso lido do código de barras carregado

Este trecho de código passa um arquivo para o leitor e percorre os resultados. Cada instância de BarcodeResult fornece acesso ao tipo de código de barras, texto decodificado, dados binários, coordenadas de posição e uma pontuação de confiança, proporcionando aos desenvolvedores tudo o que precisam para ambientes de aplicativos em produção. Para a lista completa de tipos de código de barras suportados, consulte a página de suporte a formatos de código de barras.

Para casos de uso do mundo real, onde o desempenho da digitalização de códigos de barras é importante — digitalização em armazéns com pouca luz, leitura de códigos de barras danificados em uma esteira rolante em movimento ou decodificação de múltiplos códigos de barras em uma única página, a classe BarcodeReaderOptions permite que você configure todos os aspectos do processo de leitura:

using IronBarCode;
// Comment: configure the barcode reader for challenging conditions
var options = new BarcodeReaderOptions
{
    // Comment: balance between scanning speed and accuracy on the device
    Speed = ReadingSpeed.Balanced,
    // Expect multiple barcodes per page or camera capture
    ExpectMultipleBarcodes = true,
    // Limit scanning to specific barcode types for faster results
    ExpectBarcodeTypes = BarcodeEncoding.QRCode
        | BarcodeEncoding.Code128
        | BarcodeEncoding.DataMatrix,
    // Auto-rotate barcodes captured at any camera angle
    AutoRotate = true,
    // Apply image filters to improve scanning in poor conditions
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),       // Sharpen blurry camera captures
        new ContrastFilter(1.5f)   // Boost contrast for low light
    }
};
// Comment: read barcodes from a sample image using configured options
var results = BarcodeReader.Read("warehouse_scan.jpg", options);
// Iterate and display results for the user
foreach (var barcode in results)
{
    // Output each decoded barcode value from the scanner
    Console.WriteLine($"Found: {barcode.Value}");
}
using IronBarCode;
// Comment: configure the barcode reader for challenging conditions
var options = new BarcodeReaderOptions
{
    // Comment: balance between scanning speed and accuracy on the device
    Speed = ReadingSpeed.Balanced,
    // Expect multiple barcodes per page or camera capture
    ExpectMultipleBarcodes = true,
    // Limit scanning to specific barcode types for faster results
    ExpectBarcodeTypes = BarcodeEncoding.QRCode
        | BarcodeEncoding.Code128
        | BarcodeEncoding.DataMatrix,
    // Auto-rotate barcodes captured at any camera angle
    AutoRotate = true,
    // Apply image filters to improve scanning in poor conditions
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),       // Sharpen blurry camera captures
        new ContrastFilter(1.5f)   // Boost contrast for low light
    }
};
// Comment: read barcodes from a sample image using configured options
var results = BarcodeReader.Read("warehouse_scan.jpg", options);
// Iterate and display results for the user
foreach (var barcode in results)
{
    // Output each decoded barcode value from the scanner
    Console.WriteLine($"Found: {barcode.Value}");
}
$vbLabelText   $csharpLabel

A propriedade Speed controla o equilíbrio entre velocidade e precisão, use ReadingSpeed.Faster para digitalização em alto volume ou ReadingSpeed.Detailed para máxima detecção de códigos de barras difíceis. A configuração ExpectBarcodeTypes limita os formatos que o SDK de digitalização verifica, evitando resultados de erros falsos positivos e melhorando o desempenho. O recurso AutoRotate corrige automaticamente os códigos de barras capturados em ângulos estranhos pela câmera do dispositivo, enquanto SharpenFilter e ContrastFilter melhoram a digitalização de códigos de barras em condições de pouca luz. Os desenvolvedores também podem usar recorte com estilo de zoom via a propriedade CropArea para configurar o scanner para focar em uma região específica de uma página capturada.

Para o guia completo de todas as configurações do leitor, consulte o guia para ler códigos de barras de imagens e a referência do API BarcodeReaderOptions. Os desenvolvedores que precisam decodificar códigos de barras de documentos PDF também devem verificar o método de leitura de código de barras em PDF.

Quais são os Melhores Casos de Uso para uma Solução Móvel de Código de Barras?

Soluções de digitalização de código de barras e QR para Xamarin suportam dezenas de casos de uso em várias indústrias. Aqui estão os cenários mais comuns onde o IronBarcode oferece tanto um scanner quanto um gerador de códigos de barras que entregam valor em dispositivos móveis:

  • Gestão de inventário e armazém: Usuários de dispositivos Android e iOS digitalizam códigos de barras em produtos e prateleiras para rastrear estoque em tempo real, reduzindo taxas de erro de entrada manual e aumentando a velocidade. Qualquer aplicativo de armazém se beneficia de digitalização de código de barras rápida e confiável.
  • Ponto de venda no varejo: A digitalização de código QR no checkout permite pesquisas rápidas de produtos, resgate de cupons e processamento de pagamentos móveis, tudo visível ao usuário na tela do app. A função do scanner lida com formatos 1D e 2D.
  • Logística e envio: Digitalização de códigos de barras em pacotes para verificação de rota e confirmação de entrega em uma frota de dispositivos Android e iOS. O IronBarcode pode decodificar códigos de barras até mesmo de rótulos dobrados ou parcialmente obscurecidos em uma visão de página do scanner.
  • Check-in de eventos: Um aplicativo Xamarin que decodifica códigos QR em portões de conferência fornece validação instantânea de participantes — sem ingressos em papel padrão ou pesquisas manuais de contas necessárias. O app lê cada código em menos de um segundo.
  • Saúde: Códigos de barras em pulseiras de pacientes, rótulos de medicamentos e amostras de laboratório são digitalizados por dispositivos móveis para prevenir condições de erro e garantir tratamento preciso pelo usuário. Cada página de leitura no aplicativo pode ser adaptada para tipos específicos de código de barras.

O IronBarcode oferece suporte para todos esses casos de uso de código de barras para Xamarin como um scanner de código de barras abrangente em várias plataformas, incluindo .NET Standard, .NET Core e .NET MAUI. Para desenvolvedores que mantêm uma solução de código de barras para Xamarin em produção, o IronBarcode oferece suporte contínuo, atualizações regulares e opções de licenciamento claras. Quando a migração de Xamarin for .NET MAUI está no roteiro, o IronBarcode faz a transição sem problemas, sem necessidade de reescrever o código. Veja o tutorial de scanner de código de barras .NET MAUI para um exemplo passo a passo.

O guia de migração da Microsoft para mover projetos Xamarin fornece etapas detalhadas para fazer a transição para o mais recente ambiente multiplataforma. Você também pode encontrar um link útil para soluções da comunidade neste post no Stack Overflow abordando problemas comuns de código de barras para Xamarin, e este link para a comunidade de desenvolvedores Xamarin no Reddit hospeda discussões adicionais sobre abordagens de leitura de código de barras móveis entre plataformas.

Como Começar Com a Digitalização de Código de Barras para Xamarin Hoje?

O IronBarcode torna a geração e a digitalização de código de barras para Xamarin rápidas, confiáveis e amigáveis para desenvolvedores. Ele oferece suporte para mais de 30 formatos de código de barras, recursos avançados como auto-rotação e pré-processamento personalizável, e uma interface fluente de C# que mantém as linhas de código limpas e legíveis. Seja a solução necessária para construir um aplicativo de amostra de código QR simples, processar códigos de barras de documentos PDF ou construir um leitor de código de barras completo para um aplicativo Android ou iOS, o IronBarcode lida com tudo em uma única biblioteca bem documentada. Cada função na API é projetada para clareza e facilidade de uso em ambientes de aplicativos em produção.

Teste o IronBarcode em seu projeto Xamarin, inscreva-se para um teste gratuito. Quando estiver pronto para produção, explore as opções de licenciamento, link para a página de preços para detalhes à partir de $749. Para suporte após a compra, os desenvolvedores podem personalizar sua cobertura através da página de complementos de licença.

!{--010011000100100101000010010100100100000101010010010110010101111101000111010001010101010100010111110101001101010100010000010101001001010100010001010100010001011111010101110100100 101010100010010000101111101010000010100100111101000100010101010100001101010100010111110101010001010010010010010010010100000101001100010111110100001001001100010011110100001101001011--}

Perguntas frequentes

Como o IronBarcode oferece suporte ao desenvolvimento de aplicativos Xamarin?

O IronBarcode permite que desenvolvedores de aplicativos Xamarin criem, leiam e decodifiquem códigos de barras com apenas algumas linhas de código C#. Ele é compatível com as plataformas Android, iOS e Windows, garantindo a funcionalidade perfeita de códigos de barras em aplicativos móveis.

O IronBarcode pode ser usado tanto para leitura quanto para geração de códigos de barras?

Sim, o IronBarcode funciona como um leitor e gerador de código de barras, permitindo que os desenvolvedores criem e leiam códigos de barras facilmente em seus aplicativos Xamarin.

Quais tipos de código de barras o IronBarcode suporta?

O IronBarcode suporta diversos tipos de códigos de barras, incluindo Code 128, Data Matrix e códigos QR, entre outros, tornando-o versátil para diferentes necessidades de aplicação.

O IronBarcode é compatível com o .NET MAUI?

Sim, o IronBarcode foi projetado para uma transição tranquila para o .NET MAUI, garantindo suporte e funcionalidade contínuos na migração do Xamarin.

Por que o IronBarcode é importante para aplicativos Xamarin existentes?

Com o fim do suporte oficial da Microsoft para o Xamarin, o IronBarcode oferece uma solução confiável para manter a funcionalidade de código de barras em aplicativos Xamarin existentes em diversos setores, como varejo e logística.

Como o IronBarcode auxilia na logística e no gerenciamento de estoque?

A IronBarcode auxilia na logística e gestão de estoque, gerando e decodificando códigos de barras de forma eficiente, otimizando processos como rastreamento e controle de inventário.

Quais plataformas são suportadas pelo IronBarcode?

O IronBarcode é compatível com as plataformas Android, iOS e Windows, tornando-se uma ferramenta versátil para aplicações de código de barras 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