UTILIZANDO O IRONOCR

Como extrair dados de recibos usando OCR em C#

Kannaopat Udonpant
Kannapat Udonpant
Updated: 28 de junho de 2026

IronOCR fornece uma poderosa biblioteca C# para extrair texto de imagens de recibos usando tecnologia OCR avançada, permitindo o rastreamento automatizado de despesas e análise de dados com suporte para 125 idiomas e pré-processamento de imagem embutido.

Recibos e Automação

Recibos são essenciais no mundo acelerado de hoje. Seja comprando mantimentos ou jantando fora, os recibos ajudam a rastrear gastos e auxiliam no orçamento. Enquanto isso, as lojas usam scanners de recibos para analisar dados de vendas, ajudando-os a prever a demanda e gerenciar o inventário através de técnicas de extração de dados.

No entanto, os recibos podem ser difíceis de ler e os cálculos nem sempre são claros. A entrada manual de dados para orçamento é tediosa e propensa a erros, especialmente com muitos itens. Perder um recibo pode de repente tornar seus gastos excessivos mensais um mistério. Recibos tradicionais de papel frequentemente têm qualidade de impressão ruim, tinta desbotada e degradação do papel térmico, tornando a otimização de imagem OCR crucial para extração precisa.

Para resolver isso, aplicativos de orçamento e financeiros adotaram a tecnologia OCR (Reconhecimento Óptico de Caracteres). Ao digitalizar recibos em formato digital, o OCR minimiza erros, automatiza a entrada de dados, rastreia despesas e revela padrões de compra. Soluções modernas de OCR lidam com vários formatos de recibos, de impressões tradicionais do ponto de venda a recibos digitais com capacidade de leitura de código de barras e QR code.

OCR usa aprendizado de máquina para identificar e extrair texto de imagens. O processo inclui pré-processamento de imagem, segmentação de caracteres, reconhecimento de padrões e validação. No entanto, o OCR não é perfeito - desfoque ou manchas podem levar a erros. Sistemas avançados utilizam técnicas de visão computacional para aumentar a precisão. Escolher uma biblioteca OCR confiável que processe e otimize a leitura de forma eficiente é crucial para a automação bem-sucedida de documentos.

Por que Devo Escolher o IronOCR para Processamento de Recibos?

IronOCR é uma biblioteca C# construída sobre um mecanismo OCR Tesseract personalizado. Ao contrário do Tesseract padrão, o IronOCR inclui otimizações do Tesseract 5 e recursos projetados especificamente para desenvolvedores .NET. Aqui está o que o destaca:

  1. Compatibilidade Cruzada: Funciona com .NET 8, 7, 6, 5, e Framework 4.6.2+. Funciona no Windows, macOS, Azure, e Linux. Implanta-se perfeitamente no Docker, AWS Lambda, e Azure Functions.

  2. Flexibilidade e Escalabilidade: Lida com formatos JPG, PNG e GIF. Integra-se com objetos System.Drawing. Processa TIFFs de múltiplas páginas e fluxos de PDFs. Suporta multithreading para cenários de alto volume.

  3. Facilidade de Uso e Suporte: Bem documentado com API robusta e suporte 24/5. Oferece operações simples de uma linha e opções de configuração detalhadas. Inclui guias abrangentes de solução de problemas.

  4. Capacidades Multilíngues: Suporta 125 idiomas internacionais. Reconhece efetivamente nomes de produtos e preços. Lida com múltiplos idiomas por documento. Suporta arquivos traineddata personalizados.

  5. Processamento Avançado de Imagens: Filtros embutidos melhoram automaticamente a qualidade do recibo. Inclui redução de ruído, correção de orientação e otimização de DPI. Assistente de Filtro determina as configurações ideais automaticamente.

Como Implemento OCR de Recibos no Meu Aplicativo?

Qual Licença Eu Preciso para Começar?

Antes de usar o IronOCR, você precisará de uma chave de licença. Obtenha uma versão de teste gratuita aqui. As opções de licenciamento incluem níveis Lite, Plus e Professional para diferentes tamanhos de equipes e implantações. Veja a documentação para aplicação de chaves de licença.

// Replace the license key variable with the trial key you obtained
IronOcr.License.LicenseKey = "REPLACE-WITH-YOUR-KEY";

Para aplicativos web, defina a chave de licença em Web.config para uma configuração centralizada. O sistema de licenciamento suporta extensões e upgrades à medida que você cresce.

Como Posso Ler um Recibo de Supermercado com o IronOCR?

Vamos explorar o uso do IronOCR em um aplicativo que escaneia recibos de supermercado com smartphones, extraindo nomes de produtos e preços para premiar pontos de fidelidade com base nas compras. Isso envolve captura de imagem, pré-processamento, execução de OCR e validação de dados usando pontuações de confiança dos resultados.

Como é a Aparência de uma Imagem de Recibo Típica?

Sample supermarket receipt showing Lorem ipsum placeholder text with items, prices, subtotal of $107.60, and payment details - demonstrating typical receipt layout with header, item list, totals, and barcode

Desafios comuns em recibos incluem qualidade de papel térmico, fontes variadas, layouts lotados e danos por dobra ou umidade. O pré-processamento do IronOCR lida com isso através de correção de qualidade de imagem e técnicas de correção de cor.

Qual Código C# Eu Preciso para Extrair Dados de Recibos?

using IronOcr;

class ReceiptScanner
{
    static void Main()
    {
        // Set the license key for IronOCR
        IronOcr.License.LicenseKey = "YOUR-KEY";
        
        // Instantiate OCR engine with optimal settings for receipts
        var ocr = new IronTesseract();
        
        // Configure for receipt-specific text
        ocr.Configuration.WhiteListCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.$,- ";
        ocr.Configuration.BlackListCharacters = "~`@#%^*_+={}[]|\\:;\"'<>?";
        
        using var inputPhoto = new OcrInput();
        inputPhoto.LoadImage("supermarketexample.jpg");
        
        // Apply preprocessing for better accuracy
        inputPhoto.DeNoise();
        inputPhoto.ToGrayScale();
        inputPhoto.Contrast(1.2);
        
        // Perform OCR on the loaded image
        OcrResult result = ocr.Read(inputPhoto);
        
        // Output the text extracted from the receipt
        string text = result.Text;
        Console.WriteLine(text);
        
        // Extract specific data using OcrResult features
        foreach (var line in result.Lines)
        {
            if (line.Text.Contains("TOTAL"))
            {
                Console.WriteLine($"Total Found: {line.Text}");
            }
        }
    }
}

O código demonstra:

  1. Importar a biblioteca IronOCR.
  2. Instancie o motor de OCR (IronTesseract) com opções de configuração.
  3. Crie um novo OcrInput para carregar a imagem do recibo.
  4. Aplique pré-processamento para melhor precisão.
  5. Use o método Read para extrair texto.
  6. Processe resultados usando a classe OcrResult para dados estruturados.

Para diferentes formatos de recibo, o IronOCR suporta leitura de fotos, capturas de tela e documentos digitalizados. Também pode extrair dados de tabelas de recibos estruturados.

Como Posso Verificar a Precisão dos Dados Extraídos?

Para garantir consistência, verifique o nível de confiança dos dados extraídos. O IronOCR fornece métricas abrangentes de confiança em múltiplos níveis:

OcrResult result = ocr.Read(inputPhoto);
string text = result.Text;
Console.WriteLine(text);
Console.WriteLine($"Overall Confidence: {result.Confidence}%");

// Check confidence for individual elements
foreach (var word in result.Words)
{
    if (word.Confidence < 80)
    {
        Console.WriteLine($"Low confidence word: '{word.Text}' ({word.Confidence}%)");
    }
}

// Validate numeric values
foreach (var block in result.Blocks)
{
    if (block.Text.Contains("$"))
    {
        Console.WriteLine($"Price detected: {block.Text} (Confidence: {block.Confidence}%)");
    }
}

A propriedade Confidence mede a precisão estatística de 0 (baixa) a 100 (alta). Use esses níveis de confiança para determinar como lidar com os dados. Para sistemas de produção, implemente rastreamento de progresso para monitorar operações de OCR.

Como Melhorar a Precisão do OCR com Pré-processamento de Imagem?

Antes de processar, use esses métodos para preparar imagens para melhores resultados:

using var inputPhoto = new OcrInput();
inputPhoto.LoadImage("receipt.jpg");

// Basic preprocessing
inputPhoto.DeNoise();           // Removes noise from the image
inputPhoto.ToGrayScale();       // Converts image to grayscale
inputPhoto.Contrast(1.5);       // Enhance contrast for faded receipts
inputPhoto.Sharpen();           // Improve text clarity

// Advanced preprocessing for challenging receipts
inputPhoto.Rotate(2.5);         // Correct slight rotation
inputPhoto.Deskew();            // Automatically straighten receipt
inputPhoto.Scale(200);          // Upscale low-resolution images

// Handle specific receipt issues
if (receiptIsDamaged)
{
    inputPhoto.Dilate();        // Thicken thin text
    inputPhoto.Erode();         // Reduce text bleeding
}

// For colored or patterned backgrounds
inputPhoto.Binarize();          // Convert to pure black and white
inputPhoto.Invert();            // Handle white text on dark background

Essas etapas de pré-processamento aumentam a precisão da extração. O Assistente de Filtro automaticamente encontra a melhor combinação de filtros para seus recibos. Para recibos com fundos coloridos, a correção de cor é essencial.

Cenários avançados podem precisar de OCR específico por região para focar em totais ou informações fiscais. Para recibos com códigos de barras, habilite a leitura de códigos de barras junto com a extração de texto.

Quais São os Principais Benefícios de Usar o IronOCR para Processar Recibos?

A tecnologia OCR de recibos ajuda empresas e indivíduos com orçamento, prevenção de fraude e coleta automatizada de dados. O IronOCR oferece precisão, velocidade e fácil integração com plataformas existentes, tornando-o ideal para soluções de digitalização de recibos.

Os principais benefícios incluem:

  1. Otimização de Desempenho: Multithreading e ajuste de velocidade para processar milhares de recibos de forma eficiente.

  2. Flexibilidade de Exportação: Converta recibos em PDFs pesquisáveis ou hOCR HTML para integração web.

  3. Recursos Empresariais: Implante em Azure, Docker e servidores Linux para escalabilidade.

  4. Reconhecimento Especializado: Leia notas manuscritas em recibos e extraia estruturas de tabelas.

  5. Ferramentas de Depuração: Visualização de texto em destaque e recursos de exportação de resultados ajudam na solução de problemas.

Experimente a licença de teste do IronOCR para explorar suas capacidades. A documentação completa e exemplos de código ajudam você a implementar OCR de recibos rapidamente.

Artigos relacionados