Como ler documentos específicos usando OCR em C#

How to Read Specialized Documents with C# and IronOCR

This article was translated from English: Does it need improvement?
Translated
View the article in English

Ler com precisão documentos específicos, como textos padrão, placas de veículos, passaportes e fotos, usando um método singular e genérico, é muito difícil. Esses desafios decorrem dos diversos formatos, layouts e conteúdos de cada tipo de documento, bem como das variações na qualidade da imagem, distorção e conteúdo especializado. Além disso, alcançar uma compreensão contextual e equilibrar desempenho e eficiência torna-se mais complexo com uma gama mais ampla de tipos de documentos.

O IronOCR introduz métodos específicos para realizar OCR em documentos específicos, como documentos de texto padrão, placas de veículos, passaportes e fotos, para obter precisão e desempenho ideais.

Guia rápido: Leia um passaporte em uma linha

Use a extensão ReadPassport do IronOCR para extrair todos os detalhes principais do passaporte com configuração mínima. Com apenas uma linha de código—assumindo que você instalou IronOCR e AdvancedScan—você obterá dados de resultados estruturados como nomes, número do passaporte, país e mais, de forma rápida e fácil.

  1. Instale IronOCR com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronOcr
  2. Copie e execute este trecho de código.

    var result = new IronTesseract().ReadPassport(new OcrInput().LoadImage("passport.jpg"));
  3. Implante para testar em seu ambiente de produção.

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

    arrow pointer


Sobre o pacote

Os métodos ReadLicensePlate, ReadPassport, ReadPhoto e ReadScreenShot são métodos de extensão para o pacote base do IronOCR e requerem que o pacote IronOcr.Extensions.AdvancedScan seja instalado.

Os métodos funcionam com configurações do mecanismo OCR, como lista negra e lista branca. Vários idiomas, incluindo chinês, japonês, coreano e alfabeto latino, são suportados em todos os métodos, exceto para o método ReadPassport. Observe que cada idioma requer um pacote de idioma adicional, IronOCR .

Para usar a verificação avançada no .NET Framework, é necessário que o projeto seja executado em uma arquitetura x64. Para isso, acesse a configuração do projeto e desmarque a opção "Preferir 32 bits". Saiba mais no seguinte guia de solução de problemas: " Verificação avançada no .NET Framework ".

Exemplo de leitura de documento

O método ReadDocument é um método robusto de leitura de documentos que se especializa em documentos escaneados ou fotos de documentos em papel contendo muito texto. A configuração PageSegmentationMode é muito importante na leitura de documentos de texto com diferentes layouts.

Por exemplo, os tipos SingleBlock e SparseText podem recuperar muitas informações do layout da tabela. Isso ocorre porque o SingleBlock pressupõe que o texto permaneça como um bloco, enquanto o SparseText pressupõe que o texto esteja espalhado por todo o documento.

:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-document.cs
using IronOcr;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

// Configure OCR engine
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.SingleBlock;

using var input = new OcrInput();

input.LoadPdf("Five.pdf");

// Perform OCR
OcrResult result = ocr.ReadDocument(input);

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

Os métodos abaixo são métodos de extensão do pacote base IronOCR e exigem a instalação do pacote IronOCR .

Exemplo de leitura de placa de carro

O método ReadLicensePlate é otimizado para ler placas de veículos a partir de fotos. A informação especial retornada por este método é a propriedade Licenseplate , que contém a informação da localização da placa do veículo no documento fornecido.

:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-license-plate.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputLicensePlate = new OcrInput();

inputLicensePlate.LoadImage("LicensePlate.jpeg");

// Perform OCR
OcrLicensePlateResult result = ocr.ReadLicensePlate(inputLicensePlate);

// Retrieve license plate coordinates
Rectangle rectangle = result.Licenseplate;

// Retrieve license plate value
string output = result.Text;
$vbLabelText   $csharpLabel

Leia o exemplo de passaporte

O método ReadPassport é otimizado para leitura e extrai informações de passaportes a partir de fotos de passaportes ao escanear o conteúdo da zona legível por máquina (MRZ). Uma MRZ é uma zona especialmente definida em documentos oficiais, como passaportes, carteiras de identidade e vistos. A MRZ normalmente contém informações pessoais essenciais, como o nome do titular, data de nascimento, nacionalidade e número do documento. Atualmente, este método só suporta o idioma inglês.

:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-passport.cs
using IronOcr;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputPassport = new OcrInput();

inputPassport.LoadImage("Passport.jpg");

// Perform OCR
OcrPassportResult result = ocr.ReadPassport(inputPassport);

// Output passport information
Console.WriteLine(result.PassportInfo.GivenNames);
Console.WriteLine(result.PassportInfo.Country);
Console.WriteLine(result.PassportInfo.PassportNumber);
Console.WriteLine(result.PassportInfo.Surname);
Console.WriteLine(result.PassportInfo.DateOfBirth);
Console.WriteLine(result.PassportInfo.DateOfExpiry);
$vbLabelText   $csharpLabel

Resultado

Passaporte de Leitura

Certifique-se de que o documento contenha apenas a imagem do passaporte. Qualquer texto de cabeçalho e rodapé pode confundir o método e resultar em uma saída inesperada.

Leia o exemplo da foto

O método ReadPhoto é otimizado para ler imagens que contêm texto difícil de ler. Este método retorna a propriedade TextRegions , que contém informações úteis sobre o texto detectado, como Region , TextInRegion e FrameNumber .

:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-photo.cs
using IronOcr;
using IronSoftware.Drawing;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputPhoto = new OcrInput();
inputPhoto.LoadImageFrame("photo.tif", 2);

// Perform OCR
OcrPhotoResult result = ocr.ReadPhoto(inputPhoto);

// index number refer to region order in the page
int number = result.TextRegions[0].PageNumber;
string textinregion = result.TextRegions[0].TextInRegion;
Rectangle region = result.TextRegions[0].Region;
$vbLabelText   $csharpLabel

Leia o exemplo de captura de tela.

O método ReadScreenShot é otimizado para ler capturas de tela que contêm texto difícil de ler. Semelhante ao método ReadPhoto, ele também retorna a propriedade TextRegions .

:path=/static-assets/ocr/content-code-examples/how-to/read-specific-document-screenshot.cs
}
using IronOcr;
using System;
using System.Linq;

// Instantiate OCR engine
var ocr = new IronTesseract();

using var inputScreenshot = new OcrInput();
inputScreenshot.LoadImage("screenshot.png");

// Perform OCR
OcrPhotoResult result = ocr.ReadScreenShot(inputScreenshot);

// Output screenshoot information
Console.WriteLine(result.Text);
Console.WriteLine(result.TextRegions.First().Region.X);
Console.WriteLine(result.TextRegions.Last().Region.Width);
Console.WriteLine(result.Confidence);
}
$vbLabelText   $csharpLabel

Perguntas frequentes

Como posso ler placas de veículos usando OCR em C#?

Você pode usar o método ReadLicensePlate fornecido pelo IronOCR para ler placas de veículos com precisão a partir de fotos. Esse método retorna o texto da placa e detalhes de sua localização.

Qual a melhor maneira de extrair informações de fotos de passaporte?

O método ReadPassport da IronOCR foi projetado para escanear a zona de leitura mecânica (MRZ) em fotos de passaporte, extraindo informações essenciais como nome, data de nascimento e número do documento.

O IronOCR consegue ler textos complexos em fotos?

Sim, o método ReadPhoto do IronOCR é otimizado para ler imagens com texto difícil de ler, fornecendo dados detalhados sobre o texto detectado e suas regiões.

É possível usar o IronOCR para ler texto de capturas de tela?

Sem dúvida, o método ReadScreenShot do IronOCR é especificamente otimizado para processar texto em capturas de tela e fornece informações detalhadas sobre a região do texto.

Como posso melhorar a precisão do OCR em documentos com layouts complexos?

Para melhorar a precisão do OCR em layouts de documentos complexos, configure o PageSegmentationMode no IronOCR. Opções como SingleBlock e SparseText são particularmente úteis para extrair informações de layouts de tabela.

O que devo fazer se os recursos avançados de digitalização do IronOCR não estiverem funcionando no meu projeto .NET Framework?

Para garantir que seu projeto esteja configurado para ser executado na arquitetura x64, desmarque a opção "Preferir 32 bits" nas configurações do projeto. Isso resolverá problemas com os recursos avançados de digitalização do IronOCR no .NET Framework.

Há alguma limitação no suporte a idiomas no IronOCR?

O IronOCR suporta vários idiomas, incluindo chinês, japonês, coreano e alfabeto latino. No entanto, o método ReadPassport atualmente suporta apenas documentos em inglês.

O que preciso para usar os recursos avançados de digitalização no IronOCR?

Para usar os recursos avançados de digitalização no IronOCR, é necessário o pacote IronOcr.Extensions.AdvancedScan, disponível exclusivamente para Windows.

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
Pronto para começar?
Nuget Downloads 5,525,971 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronOcr
executar um exemplo Veja sua imagem se transformar em texto pesquisável.