1. Produtos
  2.   Aspose.OCR
  3.   Aspose.OCR FOSS for .NET

Aspose.OCR FOSS para .NET

Biblioteca .NET de código aberto para detectar e reconhecer texto em imagens e documentos PDF. Licença MIT, funciona offline com modelos ONNX incorporados.

Biblioteca .NET de código aberto para detecção e reconhecimento de texto

Aspose.OCR FOSS for .NET é uma biblioteca C# gratuita, licenciada sob MIT, para detecção e reconhecimento
de texto em imagens raster e documentos PDF, sem exigir software OCR externo ou
serviços. Todo o pipeline — detecção de linhas de texto, refinamento de região e script latino
reconhecimento — é executado localmente através de três modelos ONNX incorporados diretamente na assembly e
executado na CPU via Microsoft.ML.OnnxRuntime; não há download de modelo nem chamada de rede
necessárias em tempo de execução. O API está centrado em AsposeOcr.Recognize(), que aceita um
OcrInput construído a partir de um ou mais arquivos (InputType.SingleImage ou InputType.PDF) e
retorna um OcrOutput — um RecognitionResult por imagem ou página PDF, na ordem original.
Cada RecognitionResult expõe o texto completo da página através de RecognitionText e as
linhas reconhecidas individualmente, cada uma com sua caixa delimitadora de coordenadas de pixel, através de
RecognitionLinesResult. As páginas PDF são renderizadas internamente (via Aspose.PDF.FOSS) antes
reconhecimento, portanto não é necessário um passo separado de conversão PDF-para-imagem. Aspose.OCR FOSS para
.NET é licenciado sob MIT. Instale-o com dotnet add package Aspose.OCR.FOSS. Para o
enterprise product family, veja
Aspose.OCR — Enterprise Product Family.

Reconhecer texto em imagens e PDFs

  • AsposeOcr.Recognize(OcrInput) é o ponto de entrada único para imagens e PDFs
  • OcrInput aceita InputType.SingleImage ou InputType.PDF; adicione um ou mais caminhos de arquivo com OcrInput.Add()
  • Para InputType.PDF, cada página é reconhecida e retornada na ordem original
  • O resultado é um OcrOutput — um RecognitionResult por imagem ou página de PDF

Onde o Reconhecimento de Texto é Usado

  • Digitalizando documentos escaneados em texto pesquisável e copiável
  • Extraindo texto de PDFs escaneados que não possuem camada de texto incorporada
  • Processando formulários, recibos e faturas escaneados em um pipeline em lote
  • Indexando grandes arquivos de imagens escaneadas para pesquisa de texto completo

Texto em Nível de Linha e Caixas Delimitadoras

  • RecognitionResult.RecognitionText retorna o texto completo reconhecido da página
  • RecognitionResult.RecognitionLinesResult retorna um RecognitionResult.LinesResult por linha de texto detectada
  • Cada RecognitionResult.LinesResult.TextInLine contém o texto reconhecido dessa linha
  • Cada RecognitionResult.LinesResult.Line é um System.Drawing.Rectangle que fornece as coordenadas de pixel da linha na imagem de origem

Onde os Dados de Nível de Linha São Usados

  • Desenhando sobreposições de regiões reconhecidas sobre a imagem original
  • Construindo uma camada de texto pesquisável posicionada sobre uma página digitalizada
  • Revisando a precisão de reconhecimento por linha durante o QA
  • Conduzindo ferramentas de redação ou anotação a partir das coordenadas das linhas

Funciona totalmente offline, sem serviço externo

  • Todos os três modelos ONNX (detecção, refinamento, reconhecimento de latim) são recursos de assembly incorporados — nada a baixar separadamente
  • O reconhecimento é executado inteiramente na CPU local através de Microsoft.ML.OnnxRuntime
  • OcrInput pode conter múltiplos arquivos; OcrOutput preserva a ordem original deles
  • Os tipos de entrada suportados são apenas InputType.SingleImage e InputType.PDF — qualquer outro tipo de entrada lança NotSupportedException

Onde o Reconhecimento Offline Importa

  • Ambientes air-gapped ou regulados onde os documentos não podem deixar a rede
  • Pipelines CI/CD sem acesso externo à rede durante a compilação
  • Reconhecimento em lote de alto volume onde o preço de OCR na nuvem por chamada é uma preocupação
  • Processamento de documentos on-premises com latência previsível, apenas local

Reconhecer texto em um documento PDF

Reconheça cada página de um PDF e imprima o texto de cada página na ordem original.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.PDF);
input.Add("document.pdf");
OcrOutput output = api.Recognize(input);
foreach (RecognitionResult page in output)
{
    Console.WriteLine(page.RecognitionText);
}

Reconhecer Texto em uma Única Imagem

Reconheça uma única imagem raster e imprima seu texto reconhecido.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("scan.png");
RecognitionResult result = api.Recognize(input)[0];
Console.WriteLine(result.RecognitionText);

Ler Linhas Reconhecidas e Suas Caixas Delimitadoras

Itere as linhas reconhecidas e imprima o texto de cada linha com suas coordenadas de pixel.

using Aspose.OCR;
var api = new AsposeOcr();
using var input = new OcrInput(InputType.SingleImage);
input.Add("document.jpg");
RecognitionResult result = api.Recognize(input)[0];
foreach (RecognitionResult.LinesResult line in result.RecognitionLinesResult)
{
    System.Drawing.Rectangle bounds = line.Line;
    Console.WriteLine($"x={bounds.X}, y={bounds.Y}, width={bounds.Width}, height={bounds.Height}: {line.TextInLine}");
}

Perguntas Frequentes

Qual é o modelo de licenciamento?

Aspose.OCR FOSS for .NET está licenciado sob a licença MIT. Você pode usar, modificar e redistribuir, inclusive em produtos comerciais, sem taxas de licenciamento adicionais.

Como instalo Aspose.OCR FOSS for .NET?

Consulte a seção de instalação acima para o comando de instalação atual.

Quais idiomas ele reconhece?

Texto em script latino. Não há parâmetro de seleção de idioma, e scripts não latinos não são cobertos pelo modelo de reconhecimento incorporado.

É necessária uma conexão com a internet?

Não. Todos os três modelos ONNX (detecção, refinamento, reconhecimento) estão incorporados na assembly e são executados localmente através do Microsoft.ML.OnnxRuntime.

Posso reconhecer vários arquivos em uma única chamada?

Sim — adicione vários arquivos ao mesmo OcrInput antes de chamar AsposeOcr.Recognize(). O OcrOutput retornado preserva a ordem deles.

  

Recursos de Suporte e Aprendizado

 Português