
Tutorial de como obter o texto de uma fatura em C#
Como fazer OCR de Comprovante em Tesseract
- Instale a biblioteca C# OCR para comprovantes com Tesseract
- Explore a biblioteca C# rica em recursos para realizar OCR em recibos
- Extraia dados do comprovante com Tesseract
- Procure no resultado do texto extraído por dados específicos
- Leia valores de códigos de barras na imagem do recibo de entrada
1. IronOCR, Uma API de Reconhecimento Óptico de Caracteres
IronOCR é uma biblioteca OCR que pode ser usada para reconhecer dados de texto de imagens para extração de informações, incluindo OCR de comprovantes. Ela é construída com base no motor OCR Tesseract, considerado um dos motores OCR mais precisos disponíveis hoje para reconhecimento de comprovantes. IronOCR pode ler informações-chave de diferentes tipos de documentos, incluindo formatos PNG, JPG, TIFF, JSON e PDF, e pode reconhecer texto em vários idiomas.
Um dos recursos principais do IronOCR que o torna particularmente útil para OCR de comprovantes é sua capacidade de detectar automaticamente a orientação do texto, mesmo se a imagem foi girada ou inclinada. Isso é essencial para o reconhecimento preciso de texto em carregamentos de recibos e extração de dados, pois os recibos muitas vezes contêm muitas informações e podem estar dobrados ou amassados, fazendo com que o texto fique distorcido.
2. Recursos do IronOCR
- OCR em C# usa Aprendizagem Profunda para escanear e reconhecer textos a partir de imagens, documentos digitalizados e PDFs.
- OCR .NET suporta mais de 125 idiomas globais.
- IronOCR pode ler texto de imagens em muitos formatos de arquivo, incluindo PNG, JPG, TIFF e PDF.
- Texto, dados estruturados, saída em JSON ou PDFs pesquisáveis podem ser produzidos a partir das informações extraídas.
- IronOCR suporta as versões .NET 5, 6 e 7 (Core, Framework, e Standard).
- IronOCR divide a entrada em diferentes imagens com base em regiões de texto. Ele usa Visão Computacional para identificar áreas que contêm elementos textuais.
3. Criando um Novo Projeto no Visual Studio
Abra o Visual Studio e vá para o menu Arquivo. Selecione "Novo Projeto" e depois escolha Aplicação de Console.
Insira o nome do projeto e selecione o caminho na caixa de texto apropriada. Em seguida, clique no botão Criar. Selecione o .NET Framework necessário, como mostrado na captura de tela abaixo:

A estrutura do projeto para a Aplicação de Console será gerada agora. Uma vez finalizado, ele abrirá o arquivo Program.cs, no qual você pode escrever e executar código-fonte.

4. Instalar IronOCR
No Visual Studio, você pode integrar o IronOCR ao seu projeto C# facilmente. IronOCR oferece várias maneiras de integrar a um projeto C# .NET. Aqui, discutiremos uma delas: Instalando IronOCR usando o Gerenciador de Pacotes NuGet.
No Visual Studio, acesse Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes.

Um novo console aparecerá na parte inferior da janela do Visual Studio. Digite o comando abaixo no console e pressione enter.
IronOCR será instalado em apenas alguns segundos.
5. Extração de Dados de Comprovantes Usando o IronOCR
IronOCR é uma poderosa biblioteca OCR que pode ser usada para extrair e acessar dados detalhados de comprovantes. Com o IronOCR, você pode converter uma imagem de um comprovante em texto legível por máquina que pode ser facilmente analisado e processado sem comprometer a privacidade dos dados.
Aqui está um exemplo de como você pode usar o IronOCR para extrair texto de um comprovante:
using IronOcr;
using System;
class Program
{
static void Main()
{
IronTesseract ocrTesseract = new IronTesseract();
// Load the receipt image
using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
// Read the OCR result
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
string recognizedText = ocrResult.Text;
// Output the recognized text to the console
Console.WriteLine(recognizedText);
}
}
}Imports IronOcr
Imports System
Friend Class Program
Shared Sub Main()
Dim ocrTesseract As New IronTesseract()
' Load the receipt image
Using ocrInput As New OcrInput("ocr.png")
' Read the OCR result
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
Dim recognizedText As String = ocrResult.Text
' Output the recognized text to the console
Console.WriteLine(recognizedText)
End Using
End Sub
End ClassConsulte o tutorial de Leitura de Texto de Imagem para mais detalhes sobre como o IronOCR lê texto de imagens usando C#.
A saída do código acima:
- LOGO SHOP
- LOREM IPSUM
- DOLOR SIT AMET CONSECTETUR
- ADIPISCING ELIT
- 1 LOREM IPSUM $3.20
- 2 ORNARE MALESUADA $9.50
- 3 PORTA FERMENTUM $5.90
- 4 SODALES ARCU $6.00
- 5 ELEIFEND $9.00
- 6 SEM NISIMASSA $0.50
- 7 DUIS FAMES DIS $7.60
- 8 FACILISI RISUS $810
- TOTAL AMOUNT $49.80
- CASH $50.00
6. Extração de Dados Específicos a partir de Imagem de Comprovante Usando o IronOCR
IronOCR permite que os desenvolvedores recuperem informações cruciais de comprovantes digitalizados, como valores de impostos e nomes de comerciantes.
Aqui está um exemplo demonstrando como extrair o valor total de um comprovante:
using IronOcr;
using System;
class Program
{
static void Main()
{
IronTesseract ocrTesseract = new IronTesseract();
// Set the language for OCR
ocrTesseract.Language = OcrLanguage.English;
// Load the receipt image
using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
// Optimize the input image for OCR
ocrInput.DeNoise(true);
ocrInput.Contrast();
ocrInput.EnhanceResolution();
ocrInput.ToGrayScale();
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
// Search for the total amount in the OCR result
var totalAmount = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
Console.WriteLine("Total Amount: " + totalAmount);
}
}
}Imports Microsoft.VisualBasic
Imports IronOcr
Imports System
Friend Class Program
Shared Sub Main()
Dim ocrTesseract As New IronTesseract()
' Set the language for OCR
ocrTesseract.Language = OcrLanguage.English
' Load the receipt image
Using ocrInput As New OcrInput("ocr.png")
' Optimize the input image for OCR
ocrInput.DeNoise(True)
ocrInput.Contrast()
ocrInput.EnhanceResolution()
ocrInput.ToGrayScale()
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
' Search for the total amount in the OCR result
Dim totalAmount = If(ocrResult.Text.Contains("Total:"), ocrResult.Text.Split("Total:")(1).Split(vbLf)(0), "")
Console.WriteLine("Total Amount: " & totalAmount)
End Using
End Sub
End ClassGraças às várias configurações fornecidas pela OcrInput classe, é possível otimizar a imagem de entrada para melhor precisão no processo de OCR.
Entrada

Saída
- Total 16.5
7. Leia Códigos de Barras em Recibos
IronOCR pode ser usado para ler códigos de barras em recibos, bem como texto. Para ler códigos de barras em recibos, você precisará usar a BarcodeReader classe em combinação com o método ReadBarCodes.
Aqui está um exemplo de como ler códigos de barras:
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
// Load the receipt image with a barcode
using (var ocrInput = new OcrInput("b.png"))
{
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
// Output the barcode values to the console
foreach (var barcode in ocrResult.Barcodes)
{
Console.WriteLine(barcode.Value);
}
}
}
}Imports IronOcr
Imports System
Class Program
Shared Sub Main()
Dim ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
' Load the receipt image with a barcode
Using ocrInput = New OcrInput("b.png")
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
' Output the barcode values to the console
For Each barcode In ocrResult.Barcodes
Console.WriteLine(barcode.Value)
Next
End Using
End Sub
End ClassImagem de entrada

Texto de saída

8. Conclusão
O artigo acima explica o processo de instalação e uso do IronOCR em um projeto C# para extrair dados de recibos, com exemplos de trechos de código fornecidos.
Por favor, leia o tutorial sobre leitura de texto de imagens.
IronOCR é parte da Iron Suite, que inclui cinco diferentes bibliotecas .NET para manipulação de documentos e imagens. Você pode comprar toda a Iron Suite pelo preço de apenas duas licenças IronOCR.
Experimente o IronOCR em seus aplicativos de produção com uma avaliação gratuita.

Artigos relacionados

