Ir para o conteúdo do rodapé
UTILIZANDO O IRONOCR

Como criar um leitor de recibos OCR em C#

Este tutorial é projetado para ajudar iniciantes a criar um Scanner de Recibo OCR usando o IronOCR, uma API de OCR em C#. Ao final deste guia, você entenderá como implementar o reconhecimento óptico de caracteres (OCR) para converter diferentes tipos de arquivos de recibo em dados editáveis e pesquisáveis usando a API de OCR de recibos. Esta tecnologia pode ser revolucionária para empresas que procuram automatizar a gestão de despesas e minimizar a entrada manual de dados. Vamos começar!

How To Create an OCR Receipt Scanner In C#

  1. Crie um projeto de Console C# no Visual Studio.
  2. Instale a biblioteca OCR usando o Gerenciador de Pacotes NuGet.
  3. Carregue o recibo no programa usando o método OcrInput.
  4. Extraia o texto usando o método Read.
  5. Mostre o texto extraído no console.

Pré-requisitos

Antes de mergulharmos na parte de codificação, certifique-se de ter o seguinte:

  1. Visual Studio: Este será nosso Ambiente de Desenvolvimento Integrado (IDE), onde escreveremos e executaremos nosso código C#.
  2. Biblioteca IronOCR: Usaremos IronOCR, uma biblioteca OCR avançada que pode ser facilmente integrada em aplicações C#.
  3. Recibo de Amostra: Um arquivo de imagem de recibo chamado Sample_Receipt.jpg, que usaremos para testar nossa implementação de OCR.

Como Criar um Scanner de Recibos OCR em C#: Figura 1 - Imagem de recibo de exemplo

Etapa 1: Configurando o projeto

Abrir Visual Studio: Localize o ícone do Visual Studio na sua área de trabalho ou no menu de aplicativos e clique duas vezes para abrir o programa.

Criar um Novo Projeto: Quando o Visual Studio estiver aberto, você encontrará uma janela de lançamento. Clique no botão "Criar um novo projeto". Se você já abriu o Visual Studio e não vê a janela de lançamento, pode acessar clicando em Arquivo > Novo > Projeto no menu superior.

Selecionar Tipo de Projeto: Na janela "Criar um novo projeto", você verá uma variedade de modelos de projeto. Na caixa de pesquisa, digite "Aplicativo de Console" para filtrar as opções, e então selecione Console App (.NET Core) ou Console App (.NET Framework), dependendo de sua preferência e compatibilidade. Em seguida, clique no botão Next.

Configurar Seu Novo Projeto: Agora, você verá uma tela intitulada "Configurar seu novo projeto".

  • No campo Nome do projeto, insira OCRReceiptScanner como o nome do seu projeto.
  • Escolha ou confirme o local onde seu projeto será salvo no campo de localização.
  • Opcionalmente, você também pode especificar um nome de solução se desejar que seja diferente do nome do projeto.
  • Clique no botão Próximo após preencher esses detalhes.

Informações Adicionais: Você pode ser solicitado a selecionar o .NET Framework alvo. Escolha a versão mais recente (a menos que tenha requisitos específicos de compatibilidade) e clique em Criar.

Etapa 2: Integrando IronOCR

Antes de podermos usar a biblioteca IronOCR, precisamos incluí-la em nosso projeto. Siga estes passos:

  1. Clique com o botão direito no seu projeto no Solution Explorer.
  2. Escolha "Gerenciar Pacotes NuGet".
  3. Na janela do Gerenciador de Pacotes NuGet, você verá várias guias como Procurar, Instalado, Atualizações e Consolidar. Clique na guia Procurar.
  4. Na caixa de busca, digite IronOcr. Este é o nome da biblioteca que desejamos adicionar ao nosso projeto. Pressione enter para pesquisar.
  5. Os resultados da pesquisa mostrarão o pacote da biblioteca IronOCR. Deve ser um dos primeiros resultados que você vê. Clique para selecionar.
  6. Após selecionar o pacote IronOCR, você notará um painel à direita exibindo as informações do pacote, incluindo sua descrição e versão. Há também um botão Instalar neste painel.

Como Criar um Scanner de Recibos OCR em C#: Figura 2 - Instalando o IronOCR através do gerenciador de pacotes NuGet

  1. Clique no botão Instalar. Esta ação pode solicitar que você revise as mudanças e pode mostrar uma lista de dependências que serão incluídas junto com o IronOcr. Revise as alterações e dependências, e se tudo parecer correto, confirme e prossiga com a instalação.

Etapa 3: Configurando o Projeto

Após instalar o IronOCR, sua próxima etapa é configurar seu projeto. Eis como:

Adicionar Namespaces: No topo do seu arquivo Program.cs, inclua os seguintes namespaces:

using IronOcr;
using System;
using IronOcr;
using System;
$vbLabelText   $csharpLabel

Configurações de Configuração: Se você tiver alguma configuração como uma chave de API ou uma chave de licença, certifique-se de incluí-las. Para IronOCR, você precisará definir a chave de licença conforme mostrado no código fornecido:

License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
$vbLabelText   $csharpLabel

Etapa 4: Lendo o Recibo

Agora, vamos escrever o código para ler o recibo.

Defina o Caminho para o Seu Recibo: Especifique o caminho para o arquivo de recibo que deseja escanear.

string pdfFilePath = "Sample_Receipt.jpg";
string pdfFilePath = "Sample_Receipt.jpg";
$vbLabelText   $csharpLabel

Bloco Try-Catch: Implemente o tratamento de erro usando um bloco try-catch. Isso ajudará você a gerenciar quaisquer exceções que ocorram durante o processo de OCR.

try
{
    // OCR code will go here
}
catch (Exception ex)
{
    // Handle exceptions here
    Console.WriteLine($"An error occurred: {ex.Message}");
}
try
{
    // OCR code will go here
}
catch (Exception ex)
{
    // Handle exceptions here
    Console.WriteLine($"An error occurred: {ex.Message}");
}
$vbLabelText   $csharpLabel

Passo 5: Implementação do OCR

No Passo 5, exploramos a funcionalidade central de nossa aplicação: implementar OCR para ler e interpretar os dados do nosso recibo. Isso envolve inicializar o mecanismo de OCR, configurar a entrada, realizar a operação de OCR e exibir os resultados.

Inicializar IronTesseract

A primeira parte do código cria uma instância da classe IronTesseract:

var ocr = new IronTesseract();
var ocr = new IronTesseract();
$vbLabelText   $csharpLabel

Ao criar uma instância de IronTesseract, estamos essencialmente configurando nossa ferramenta OCR, preparando-a para realizar as tarefas de reconhecimento de texto. É como ligar o motor de um carro antes de poder dirigi-lo. Esse objeto será usado para controlar o processo de OCR, incluindo a leitura da entrada e a extração de texto dela.

Configurar Entrada OCR

Em seguida, definimos a entrada para nosso processo de OCR:

using (var input = new OcrInput(pdfFilePath))
{
    // OCR processing will go here
}
using (var input = new OcrInput(pdfFilePath))
{
    // OCR processing will go here
}
$vbLabelText   $csharpLabel

Neste segmento, OcrInput é usado para especificar o arquivo que queremos processar. pdfFilePath é uma variável que contém o caminho para o nosso arquivo de recibo. Ao passar essa variável para OcrInput, estamos dizendo ao mecanismo OCR, "Aqui está o arquivo que quero que você leia." A instrução using é uma construção especial do C# que garante que os recursos usados por OcrInput (como manipuladores de arquivos) sejam liberados adequadamente quando o processamento for concluído. É uma maneira de gerenciar os recursos de forma eficiente e assegurar que sua aplicação funcione sem problemas, sem uso desnecessário de memória.

Realizar OCR

Dentro do bloco using, chamamos o método Read na nossa instância ocr:

var result = ocr.Read(input);
var result = ocr.Read(input);
$vbLabelText   $csharpLabel

O método Read receberá o caminho do arquivo de entrada como parâmetro. Esta linha iniciará a digitalização do recibo. Ele fará o OCR do arquivo de entrada fornecido, extrairá os dados e os armazenará em uma variável result. Podemos usar o texto extraído deste método para realizar qualquer operação de texto.

Exibir os Resultados

Finalmente, exibimos o texto que foi reconhecido pelo processo de OCR:

Console.WriteLine(result.Text);
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

A variável result contém o resultado do processo de OCR e result.Text contém o texto real extraído do recibo. A função Console.WriteLine então pega esse texto e o exibe no console. Isso permite que você veja e verifique os resultados do processo de OCR. Aqui está o código completo do arquivo Program.cs:

using IronOcr;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Set your IronOCR license key
        License.LicenseKey = "Your-License-Key";

        // Define the path to the receipt image
        string pdfFilePath = "Sample_Receipt.jpg";

        try
        {
            // Initialize the OCR engine
            var ocr = new IronTesseract();

            // Define the input file
            using (var input = new OcrInput(pdfFilePath))
            {
                // Perform OCR and get the result
                var result = ocr.Read(input);

                // Display the extracted text
                Console.WriteLine(result.Text);
            }
        }
        catch (Exception ex)
        {
            // Handle exceptions and log them if necessary
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Set your IronOCR license key
        License.LicenseKey = "Your-License-Key";

        // Define the path to the receipt image
        string pdfFilePath = "Sample_Receipt.jpg";

        try
        {
            // Initialize the OCR engine
            var ocr = new IronTesseract();

            // Define the input file
            using (var input = new OcrInput(pdfFilePath))
            {
                // Perform OCR and get the result
                var result = ocr.Read(input);

                // Display the extracted text
                Console.WriteLine(result.Text);
            }
        }
        catch (Exception ex)
        {
            // Handle exceptions and log them if necessary
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}
$vbLabelText   $csharpLabel

Passo 6: Executando sua Aplicação

  1. Compilar o Projeto: Clique no menu 'Compilar' e depois selecione 'Compilar Solução'.
  2. Execute o Projeto: Pressione F5 ou clique no botão 'Iniciar' para executar sua aplicação.

Agora, você vê o texto do seu recibo exibido no console. Este texto representa os dados extraídos da imagem do seu recibo. É assim que digitalizamos recibos usando IronOCR. Este é um exemplo simples de uso das capacidades de OCR para extrair dados de recibos em papel. É uma implementação bem genérica. Você pode modificar seu código para corresponder ao layout de suas imagens de recibo.

Como Criar um Scanner de Recibos OCR em C#: Figura 3 - Texto exibido do exemplo de código anterior

Depois disso, você pode usar os dados não estruturados dos recibos que obtivemos após digitalizar os recibos. Podemos obter informações importantes de uma seção particular do recibo. Ou podemos mostrar os dados do recibo de uma forma mais organizada. Podemos criar uma aplicação de software de Digitalização de Recibos OCR usando o IronOCR. Isso nos ajudará a extrair dados precisos dos campos dos recibos.

Conclusão

Parabéns! Você construiu com sucesso um scanner de recibos OCR usando C# e IronOCR. Este scanner pode aumentar significativamente a precisão da extração de dados para diversas necessidades de negócios, como controle de despesas, gestão da cadeia de suprimentos, e mais. Não haverá mais necessidade de revisar os recibos digitalizados e extrair dados manualmente.

IronOCR oferece uma versão de avaliação gratuita, permitindo aos usuários explorar e avaliar suas capacidades sem custo inicial. Para aqueles que buscam integrar e aproveitar todo o leque de recursos em um ambiente profissional, as licenças começam em $799, proporcionando uma solução abrangente para necessidades robustas de escaneamento de recibos OCR e extração de dados.

Lembre-se, isso é apenas o começo. Você pode expandir esta aplicação para suportar vários tipos de arquivos, melhorar a privacidade dos dados, ou integrar recursos adicionais como reconhecimento de recibos para campos específicos como valor do imposto, data, itens da linha, e mais. Com a tecnologia OCR, as possibilidades são vastas, abrindo caminho para processos de negócios mais eficientes e inteligentes. Boa programação!

Perguntas frequentes

O que é um leitor de recibos OCR e como ele pode beneficiar as empresas?

Um scanner de recibos com OCR é uma ferramenta que utiliza a tecnologia de Reconhecimento Óptico de Caracteres para converter imagens de recibos em dados editáveis e pesquisáveis. Isso pode aprimorar significativamente os processos de negócios, automatizando tarefas de entrada de dados, principalmente em áreas como gestão de despesas.

Como posso criar um leitor de recibos OCR em C#?

Para criar um leitor de recibos com OCR em C#, você pode usar a biblioteca IronOCR. Comece configurando um projeto de console C# no Visual Studio, instale o IronOCR através do Gerenciador de Pacotes NuGet e siga o tutorial para implementar a funcionalidade de OCR em arquivos de recibo.

Quais são os pré-requisitos para configurar um leitor de recibos OCR em C#?

Os pré-requisitos incluem ter o Visual Studio instalado, a biblioteca IronOCR e um arquivo de imagem de recibo de amostra para testar o processo de OCR.

Como faço para instalar a biblioteca IronOCR no meu projeto C#?

Você pode instalar a biblioteca IronOCR usando o Gerenciador de Pacotes NuGet no Visual Studio. Procure por IronOCR e adicione-a ao seu projeto para acessar suas funcionalidades de OCR.

Como a classe IronTesseract funciona em OCR?

A classe IronTesseract é usada para inicializar o mecanismo OCR dentro da biblioteca IronOCR, permitindo que você execute tarefas de reconhecimento de texto em imagens de recibos.

Como posso lidar com erros durante o processo de OCR em C#?

Os erros durante o processo de OCR podem ser tratados usando um bloco try-catch no seu código C#. Isso ajudará a gerenciar exceções e garantirá que o aplicativo funcione sem problemas, mesmo ao encontrar problemas.

Como posso aprimorar os recursos do meu leitor de recibos OCR?

Você pode expandir o aplicativo oferecendo suporte a vários tipos de arquivo, aprimorando a privacidade dos dados ou integrando recursos adicionais, como o reconhecimento de campos específicos em recibos, para melhorar a precisão da extração de dados.

Quais são as melhores práticas para integrar a tecnologia OCR em aplicações C#?

As melhores práticas incluem o uso de uma biblioteca confiável como o IronOCR, o tratamento de erros com blocos try-catch e a otimização do scanner para vários formatos de recibo, a fim de garantir a extração precisa dos dados.

Como posso converter uma imagem de recibo em texto usando C#?

Você pode converter a imagem de um recibo em texto usando a biblioteca IronOCR em C#. Utilize a classe OcrInput para especificar a imagem e, em seguida, processe-a com a classe IronTesseract para extrair o texto.

Quais são as opções de licenciamento disponíveis para o IronOCR?

O IronOCR oferece um período de teste gratuito para experimentação, com opções de licenciamento acessíveis para uso prolongado em ambientes profissionais, tornando-o acessível para diversas aplicações que requerem tecnologia OCR.

Kannaopat Udonpant
Engenheiro de Software
Antes de se tornar Engenheiro de Software, Kannapat concluiu um doutorado em Recursos Ambientais pela Universidade de Hokkaido, no Japão. Durante o doutorado, Kannapat também integrou o Laboratório de Robótica Veicular, que faz parte do Departamento de Engenharia de Bioprodução. Em 2022, ele utilizou suas habilidades ...
Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me