IRONSOFTWAREHOME

Como Ler Códigos de Barras e QR Codes em C# com IronOCR

Curtis Chau
Curtis Chau
Updated: 4 de junho de 2026

O IronOCR lê códigos de barras e QR codes em C# configurando ReadBarCodes = true na configuração. Esta única configuração permite a extração automática de valores de códigos de barras de PDFs e imagens juntamente com o reconhecimento de texto regular, suportando mais de 20 formatos de código de barras, incluindo QR codes, Code 128 e Data Matrix.

Início Rápido: Leia Códigos de Barras de um PDF Instantaneamente

Ative a detecção de códigos de barras com uma configuração e escaneie PDFs com o IronOCR. O código abaixo mostra como ativar a leitura de códigos de barras, processar um PDF e recuperar os valores decodificados.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Copie e execute este trecho de código.

    var result = new IronOcr.IronTesseract() { Configuration = new IronOcr.TesseractConfiguration { ReadBarCodes = true } }.Read(new IronOcr.OcrPdfInput("document.pdf"));
    foreach(var bc in result.Barcodes) Console.WriteLine(bc.Value);
    C#
  3. 3Implante para testar em seu ambiente de produção.

    Comece a usar IronOCR em seu projeto hoje com uma avaliação gratuita
    arrow pointer

Como Leio Códigos de Barras de Documentos PDF?

Crie um objeto IronTesseract para realizar a leitura. Defina a propriedade ReadBarCodes como verdadeira para habilitar a detecção de código de barras. Importe o documento PDF usando o construtor OcrPdfInput. Use o método Read para realizar a OCR no PDF importado.

Aqui está um exemplo usando este documento PDF:

using IronOcr;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Enable barcode reading
ocrTesseract.Configuration.ReadBarCodes = true;

// Add PDF
using var imageInput = new OcrPdfInput("pdfWithBarcodes.pdf");

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output detected barcodes and text values
Console.WriteLine("Extracted text:");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("Extracted barcodes:");
foreach (var barcode in ocrResult.Barcodes)
{
    Console.WriteLine(barcode.Value);
}
Saída de depuração do IronOCR mostrando texto extraído e três códigos de barras (A,B,C) de PDF com perfis de negócios

Múltiplos valores de código de barras aparecem abaixo dos códigos de barras e são incluídos no texto extraído.

Por Que o IronOCR Extrai Tanto Texto Quanto Valores de Códigos de Barras?

A extração dupla do IronOCR fornece uma análise abrangente do documento. Ao processar documentos que contêm tanto texto quanto códigos de barras, a biblioteca realiza extração padrão de texto OCR ao mesmo tempo que decodifica simbologias de códigos de barras. Esta abordagem unificada elimina a necessidade de múltiplas passagens de processamento ou bibliotecas separadas.

A extração de texto captura elementos legíveis para humanos, enquanto a detecção de códigos de barras identifica e decodifica dados legíveis por máquinas. Isso beneficia documentos como faturas, etiquetas de envio ou relatórios de inventário, onde os valores de códigos de barras se correlacionam com o texto impresso. A classe OcrResult separa essas saídas—aceda ao texto através da propriedade Text e aos dados do código de barras através da coleção Barcodes.

Quais Formatos de Código de Barras São Suportados?

IronOCR suporta mais de 20 formatos de códigos de barras:

Códigos de Barras 1D:

  • Código 128, Código 39, Código 93
  • EAN-13, EAN-8
  • UPC-A, UPC-E
  • Codabar
  • ITF (Intercalado 2 de 5)
  • MSI
  • Plessey

Códigos de Barras 2D:

  • Código QR
  • Matriz de Dados
  • PDF417
  • Código Aztec
  • MaxiCode

Para aplicações especializadas como leitura de cheques MICR ou processamento de documentos de identidade, as capacidades de código de barras do IronOCR complementam suas funcionalidades de extração de texto.

Quando Devo Usar OCR para Leitura de Códigos de Barras em Vez de Bibliotecas Dedicadas de Códigos de Barras?

Escolha a leitura integrada de códigos de barras do IronOCR quando:

  1. Processamento de Conteúdo Misto: Documentos contêm tanto texto quanto códigos de barras (etiquetas de envio, faturas, ou documentos digitalizados)
  2. Preferência por Biblioteca Única: Você deseja minimizar dependências e usar uma única solução
  3. Processamento de PDF: Você já está usando o IronOCR para extração de texto OCR de PDF
  4. Layouts de Documento Complexos: Documentos têm códigos de barras embutidos em regiões de texto ou tabelas

Use bibliotecas dedicadas de códigos de barras quando:

  • Processar imagens de alto volume contendo apenas códigos de barras
  • Requerer escaneamento de códigos de barras em tempo real (resposta < 50ms)
  • Trabalhar com códigos de barras danificados ou de baixa qualidade que exigem algoritmos especializados
  • Implementar escaneamento de códigos de barras móveis com otimização de câmera

Como Leio Códigos QR de Documentos?

Como a leitura de código de barras, defina a propriedade ReadBarCodes como verdadeira. Não são necessárias outras alterações de código além do caminho do arquivo. Processe este documento PDF com códigos QR:

using IronOcr;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Enable barcode reading
ocrTesseract.Configuration.ReadBarCodes = true;

// Add PDF
using var imageInput = new OcrPdfInput("pdfWithQrCodes.pdf");

// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output detected barcodes and text values
Console.WriteLine("Extracted text:");
Console.WriteLine(ocrResult.Text);
Console.WriteLine("Extracted barcodes:");
foreach (var barcode in ocrResult.Barcodes)
{
    Console.WriteLine(barcode.Value);
}
Saída do IronOCR no Visual Studio mostrando texto extraído e códigos QR A, B e C decodificados com sucesso do documento

Por Que a Mesma Configuração Funciona Tanto Para Códigos de Barras Quanto para Códigos QR?

O motor de detecção de códigos de barras unificado do IronOCR trata todos os códigos legíveis por máquina igualmente. A configuração ReadBarCodes ativa um detector de simbologia abrangente que reconhece formatos 1D (códigos de barras lineares) e 2D (QR codes, Data Matrix) sem exigir configurações específicas de formato. Este design simplifica a implementação e reduz a complexidade da configuração.

O algoritmo de detecção automaticamente:

  • Identifica o tipo de simbologia com base no reconhecimento de padrões
  • Aplica os algoritmos de decodificação apropriados
  • Lida com variações de orientação e tamanho
  • Retorna os resultados em um formato consistente, independentemente do tipo de código de barras

Essa abordagem espelha como os modelos de Visão Computacional funcionam—treinando em múltiplos formatos para fornecer capacidades de detecção universal.

Quais São os Problemas Comuns ao Ler Códigos QR com OCR?

Desafios comuns ao processar códigos QR incluem:

  1. Problemas de Resolução: Códigos QR em PDFs podem ser subamostrados abaixo do tamanho mínimo do módulo. Use configurações de DPI para garantir resolução adequada (mínimo recomendado de 300 DPI).

  2. Qualidade da Imagem: Códigos QR digitalizados frequentemente sofrem com desfoque, ruído ou distorção. Aplique filtros de correção de imagem para melhorar a clareza:

// Apply filters to improve QR code readability
ocrTesseract.Configuration.ReadBarCodes = true;
var input = new OcrImageInput("qr-code-scan.jpg");
input.DeNoise();
input.Sharpen();
input.EnhanceResolution();

var result = ocrTesseract.Read(input);
  1. Problemas de Orientação: Códigos QR em ângulos podem não ser decodificados corretamente. Habilite a detecção de rotação de página para lidar com documentos desalinhados.

  2. Interferência de Conteúdo Misto: Texto ou gráficos sobrepostos aos códigos QR podem impedir a detecção. Use regiões de corte para isolar áreas de códigos QR quando necessário.

Como Posso Melhorar a Precisão do Reconhecimento de Códigos QR?

Otimize o reconhecimento de códigos QR com estas técnicas:

  1. Pré-processar Imagens: Use o Assistente de Filtro para determinar as melhores configurações de aprimoramento:
// Enhanced QR code reading with preprocessing
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;

// Configure for better QR detection
var input = new OcrImageInput("document-with-qr.pdf");
input.TargetDPI = 300; // Ensure sufficient resolution
input.Binarize(); // Convert to black and white
input.DeNoise(); // Remove image artifacts

var result = ocrTesseract.Read(input);
  1. Gerenciar Múltiplas Páginas: Para documentos com várias páginas com códigos QR em várias páginas:
// Process multi-page documents efficiently
using var pdfInput = new OcrPdfInput("multi-page-qr-document.pdf");
pdfInput.TargetDPI = 300;

var results = ocrTesseract.Read(pdfInput);
foreach (var page in results.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}:");
    foreach (var barcode in page.Barcodes)
    {
        Console.WriteLine($"  QR Code: {barcode.Value}");
        Console.WriteLine($"  Location: X={barcode.X}, Y={barcode.Y}");
    }
}
  1. Processamento Assíncrono: Para melhor desempenho com vários documentos, use métodos assíncronos:
// Asynchronous QR code reading
var result = await ocrTesseract.ReadAsync(imageInput);
  1. Depurar Problemas de Reconhecimento: Ative a realce de resultados para visualizar o que o IronOCR detecta:
result.SaveAsHighlightedImage("qr-detection-debug.png");

Otimização de Desempenho para Processamento em Grande Escala de Códigos de Barras

Ao processar milhares de documentos com códigos de barras e QR codes, implemente estas estratégias de otimização:

  1. Multithreading: Aproveite o processamento multithreaded para lidar com vários documentos simultaneamente:
// Process multiple documents in parallel
var documents = new[] { "doc1.pdf", "doc2.pdf", "doc3.pdf" };
var results = documents.AsParallel().Select(doc =>
{
    var tesseract = new IronTesseract();
    tesseract.Configuration.ReadBarCodes = true;
    return tesseract.Read(new OcrPdfInput(doc));
}).ToList();
  1. Gerenciamento de Memória: Use tokens de abortar para operações de longa duração:
// Implement cancellation for large batch processing
using var cts = new CancellationTokenSource();
ocrTesseract.Configuration.CancellationToken = cts.Token;

// Cancel if processing takes too long
cts.CancelAfter(TimeSpan.FromMinutes(5));
  1. Exportação de Resultados: Economize resultados como PDFs pesquisáveis para manter ambos os dados de texto e código de barras:
// Export results with embedded barcode values
result.SaveAsSearchablePdf("output-with-barcodes.pdf");

Integração com Aplicações de Negócios

As capacidades de código de barras do IronOCR se integram perfeitamente com aplicativos .NET existentes. Cenários comuns de integração incluem:

  • Gerenciamento de Inventário: Extraia códigos de produtos de manifestos de envio
  • Arquivamento de Documentos: Indexe documentos escaneados por identificadores de código de barras embutidos
  • Processamento de Faturas: Faça correspondência de SKUs de código de barras com itens de linha em documentos financeiros
  • Registros de Saúde: Processar códigos de barras de pulseiras de paciente juntamente com formulários médicos

Para aplicativos de produção processando altos volumes de códigos de barras e QR codes, considere implementar rastreamento de progresso para monitorar o status do processamento e otimizar o desempenho com base em métricas do mundo real.

Perguntas frequentes

Como faço para habilitar a leitura de código de barras em meu aplicativo C#?

Com o IronOCR, habilite a leitura de códigos de barras definindo ReadBarCodes = true na configuração do Tesseract. Essa configuração simples ativa a extração automática de valores de códigos de barras de PDFs e imagens, além do reconhecimento de texto comum, com suporte para mais de 20 formatos de código de barras.

Posso ler texto e códigos de barras no mesmo documento?

Sim, o IronOCR realiza extração dupla: captura texto legível por humanos através de OCR padrão e, simultaneamente, decodifica códigos de barras legíveis por máquina. A classe OcrResult separa essas saídas, com o texto acessível pela propriedade Text e os dados do código de barras acessíveis pela coleção Barcodes.

Quais formatos de código de barras podem ser detectados?

O IronOCR suporta mais de 20 formatos de código de barras, incluindo códigos de barras 1D (Code 128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, Codabar, ITF, MSI, Plessey) e códigos de barras 2D (QR Code, Data Matrix e outros).

Como extrair códigos de barras de documentos PDF?

Crie um objeto IronTesseract, defina ReadBarCodes como true, importe seu PDF usando o construtor OcrPdfInput e, em seguida, use o método Read. O IronOCR realizará o OCR e extrairá todos os valores de código de barras detectados, que você poderá acessar por meio da coleção result.Barcodes.

Preciso de bibliotecas separadas para OCR de texto e leitura de código de barras?

Não, a abordagem unificada do IronOCR elimina a necessidade de múltiplas etapas de processamento ou bibliotecas separadas. Ele realiza a extração de texto OCR padrão enquanto decodifica simultaneamente as simbologias de código de barras em uma única operação.

How can I improve the accuracy of QR code recognition with IronOCR?

Improve QR code recognition by ensuring high resolution, applying image corrections like de-noising and sharpening, and handling orientation issues.

What are common challenges when reading QR codes with OCR?

Common challenges include resolution issues, image quality problems, orientation errors, and interference from overlapping text or graphics.

Can IronOCR handle multi-page PDF documents with barcodes?

Yes, IronOCR can process multi-page PDF documents with barcodes by reading each page individually and outputting detected barcode values and formats.

What is the benefit of using IronOCR for PDF text extraction and barcode reading?

Using IronOCR allows for unified text and barcode extraction from PDF documents, reducing the need for separate libraries and processing steps for each type of data.

How can IronOCR's barcode capabilities integrate into business applications?

IronOCR can be used in various business applications such as inventory management, document archiving, invoice processing, and healthcare records by extracting and processing barcode information.

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 6,236,385Versão:2026.9recém-lançado

Obtenha o seu GRÁTIS

Obtenha uma chave de avaliação de 30 dias instantaneamente.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.
bullet_testTeste em produção
sem marcas d'água
bullet_calendar30 dias completos
produto funcional
bullet_supportSuporte técnico 24 horas por dia,
5 dias por semana, durante o teste
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 IronOcr
nuget.org/packages/IronOcr/
  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 "IronOCR".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronOCR 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 "IronOCR.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 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.