Teste em produção sem marcas d'água.
Funciona onde você precisar.
Receba 30 dias de produto totalmente funcional.
Deixe-o pronto para usar em minutos.
Acesso total à nossa equipe de suporte técnico durante o período de teste do produto.
using IronOcr;
string imageText = new IronTesseract().Read(@"images\image.png").Text;
Imports IronOcr
Private imageText As String = (New IronTesseract()).Read("images\image.png").Text
Install-Package IronOcr
IronOCR é único em sua capacidade de detectar automaticamente e ler texto de imagens escaneadas imperfeitamente e documentos PDF. A classe IronTesseract fornece a API mais simples.
Experimente outros exemplos de código para obter controle fino de suas operações de OCR em C#.
IronOCR proporciona a construção mais avançada de Tesseract conhecida em qualquer lugar, em qualquer plataforma, com velocidade aumentada, precisão e uma DLL e API nativas.
Suporta Tesseract 3, Tesseract 4, e Tesseract 5 for .NET Framework, Standard, Core, Xamarin, e Mono.
using IronOcr;
using System;
var ocrTesseract = new IronTesseract();
ocrTesseract.Language = OcrLanguage.Arabic;
using (var ocrInput = new OcrInput())
{
ocrInput.LoadImage(@"images\arabic.gif");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
// Example with a Custom Trained Font Being used:
var ocrTesseractCustomerLang = new IronTesseract();
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata");
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest);
using (var ocrInput = new OcrInput())
{
ocrInput.LoadPdf(@"images\mixed-lang.pdf");
var ocrResult = ocrTesseractCustomerLang.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports System
Private ocrTesseract = New IronTesseract()
ocrTesseract.Language = OcrLanguage.Arabic
Using ocrInput As New OcrInput()
ocrInput.LoadImage("images\arabic.gif")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
' Example with a Custom Trained Font Being used:
Dim ocrTesseractCustomerLang = New IronTesseract()
ocrTesseractCustomerLang.UseCustomTesseractLanguageFile("custom_tesseract_files/custom.traineddata")
ocrTesseractCustomerLang.AddSecondaryLanguage(OcrLanguage.EnglishBest)
Using ocrInput As New OcrInput()
ocrInput.LoadPdf("images\mixed-lang.pdf")
Dim ocrResult = ocrTesseractCustomerLang.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Using
Install-Package IronOcr
O IronOCR suporta 125 idiomas internacionais. Além do inglês, que é instalado por padrão, pacotes de idiomas adicionais podem ser adicionados ao seu projeto .NET via NuGet ou baixados da nossa página de idiomas . A maioria dos idiomas está disponível nas qualidades Rápida, Padrão (recomendada) e Melhor. A opção de melhor qualidade pode oferecer resultados mais precisos, mas também terá um tempo de processamento mais lento.Suporte a idiomas do IronOCR
using IronOcr;
using IronSoftware.Drawing;
// We can delve deep into OCR results as an object model of
// Pages, Barcodes, Paragraphs, Lines, Words and Characters
// This allows us to explore, export and draw OCR content using other APIs/
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
var pages = new int[] { 1, 2 };
ocrInput.LoadImageFrames("example.tiff", pages);
OcrResult ocrResult = ocrTesseract.Read(ocrInput);
foreach (var page in ocrResult.Pages)
{
// Page object
int PageNumber = page.PageNumber;
string PageText = page.Text;
int PageWordCount = page.WordCount;
// null if we dont set Ocr.Configuration.ReadBarCodes = true;
OcrResult.Barcode[] Barcodes = page.Barcodes;
AnyBitmap PageImage = page.ToBitmap(ocrInput);
double PageWidth = page.Width;
double PageHeight = page.Height;
double PageRotation = page.Rotation; // angular correction in degrees from OcrInput.Deskew()
foreach (var paragraph in page.Paragraphs)
{
// Pages -> Paragraphs
int ParagraphNumber = paragraph.ParagraphNumber;
string ParagraphText = paragraph.Text;
AnyBitmap ParagraphImage = paragraph.ToBitmap(ocrInput);
int ParagraphX_location = paragraph.X;
int ParagraphY_location = paragraph.Y;
int ParagraphWidth = paragraph.Width;
int ParagraphHeight = paragraph.Height;
double ParagraphOcrAccuracy = paragraph.Confidence;
OcrResult.TextFlow paragrapthText_direction = paragraph.TextDirection;
foreach (var line in paragraph.Lines)
{
// Pages -> Paragraphs -> Lines
int LineNumber = line.LineNumber;
string LineText = line.Text;
AnyBitmap LineImage = line.ToBitmap(ocrInput);
int LineX_location = line.X;
int LineY_location = line.Y;
int LineWidth = line.Width;
int LineHeight = line.Height;
double LineOcrAccuracy = line.Confidence;
double LineSkew = line.BaselineAngle;
double LineOffset = line.BaselineOffset;
foreach (var word in line.Words)
{
// Pages -> Paragraphs -> Lines -> Words
int WordNumber = word.WordNumber;
string WordText = word.Text;
AnyBitmap WordImage = word.ToBitmap(ocrInput);
int WordX_location = word.X;
int WordY_location = word.Y;
int WordWidth = word.Width;
int WordHeight = word.Height;
double WordOcrAccuracy = word.Confidence;
foreach (var character in word.Characters)
{
// Pages -> Paragraphs -> Lines -> Words -> Characters
int CharacterNumber = character.CharacterNumber;
string CharacterText = character.Text;
AnyBitmap CharacterImage = character.ToBitmap(ocrInput);
int CharacterX_location = character.X;
int CharacterY_location = character.Y;
int CharacterWidth = character.Width;
int CharacterHeight = character.Height;
double CharacterOcrAccuracy = character.Confidence;
// Output alternative symbols choices and their probability.
// Very useful for spellchecking
OcrResult.Choice[] Choices = character.Choices;
}
}
}
}
}
Imports IronOcr
Imports IronSoftware.Drawing
' We can delve deep into OCR results as an object model of
' Pages, Barcodes, Paragraphs, Lines, Words and Characters
' This allows us to explore, export and draw OCR content using other APIs/
Private ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
Dim ocrInput As New OcrInput()
Dim pages = New Integer() { 1, 2 }
ocrInput.LoadImageFrames("example.tiff", pages)
Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
For Each page In ocrResult.Pages
' Page object
Dim PageNumber As Integer = page.PageNumber
Dim PageText As String = page.Text
Dim PageWordCount As Integer = page.WordCount
' null if we dont set Ocr.Configuration.ReadBarCodes = true;
Dim Barcodes() As OcrResult.Barcode = page.Barcodes
Dim PageImage As AnyBitmap = page.ToBitmap(ocrInput)
Dim PageWidth As Double = page.Width
Dim PageHeight As Double = page.Height
Dim PageRotation As Double = page.Rotation ' angular correction in degrees from OcrInput.Deskew()
For Each paragraph In page.Paragraphs
' Pages -> Paragraphs
Dim ParagraphNumber As Integer = paragraph.ParagraphNumber
Dim ParagraphText As String = paragraph.Text
Dim ParagraphImage As AnyBitmap = paragraph.ToBitmap(ocrInput)
Dim ParagraphX_location As Integer = paragraph.X
Dim ParagraphY_location As Integer = paragraph.Y
Dim ParagraphWidth As Integer = paragraph.Width
Dim ParagraphHeight As Integer = paragraph.Height
Dim ParagraphOcrAccuracy As Double = paragraph.Confidence
Dim paragrapthText_direction As OcrResult.TextFlow = paragraph.TextDirection
For Each line In paragraph.Lines
' Pages -> Paragraphs -> Lines
Dim LineNumber As Integer = line.LineNumber
Dim LineText As String = line.Text
Dim LineImage As AnyBitmap = line.ToBitmap(ocrInput)
Dim LineX_location As Integer = line.X
Dim LineY_location As Integer = line.Y
Dim LineWidth As Integer = line.Width
Dim LineHeight As Integer = line.Height
Dim LineOcrAccuracy As Double = line.Confidence
Dim LineSkew As Double = line.BaselineAngle
Dim LineOffset As Double = line.BaselineOffset
For Each word In line.Words
' Pages -> Paragraphs -> Lines -> Words
Dim WordNumber As Integer = word.WordNumber
Dim WordText As String = word.Text
Dim WordImage As AnyBitmap = word.ToBitmap(ocrInput)
Dim WordX_location As Integer = word.X
Dim WordY_location As Integer = word.Y
Dim WordWidth As Integer = word.Width
Dim WordHeight As Integer = word.Height
Dim WordOcrAccuracy As Double = word.Confidence
For Each character In word.Characters
' Pages -> Paragraphs -> Lines -> Words -> Characters
Dim CharacterNumber As Integer = character.CharacterNumber
Dim CharacterText As String = character.Text
Dim CharacterImage As AnyBitmap = character.ToBitmap(ocrInput)
Dim CharacterX_location As Integer = character.X
Dim CharacterY_location As Integer = character.Y
Dim CharacterWidth As Integer = character.Width
Dim CharacterHeight As Integer = character.Height
Dim CharacterOcrAccuracy As Double = character.Confidence
' Output alternative symbols choices and their probability.
' Very useful for spellchecking
Dim Choices() As OcrResult.Choice = character.Choices
Next character
Next word
Next line
Next paragraph
Next page
Install-Package IronOcr
IronOCR retorna um objeto de resultado avançado para cada página que escaneia usando Tesseract 5. Isso contém dados de localização, imagens, texto, confiança estatística, escolhas alternativas de símbolos, nomes de fonte, tamanhos de fonte, decoração, pesos de fonte e posição para cada:
Page Paragraph Word Barcode
Para dúvidas sobre produtos ou licenciamento, a equipe da Iron está pronta para ajudar. Envie suas perguntas e garantiremos que a pessoa certa na Iron responda a elas.
Entre em contatoÉ possível enviar uma ou várias páginas para o IronOCR. Você receberá todo o texto, código de barras e conteúdo QR como resultado. Adicione funcionalidade OCR a aplicativos .NET de console, web ou desktop. As imagens podem ser enviadas nos formatos PDF, JPG, PNG, GIF, BMP e TIFF.
Veja os tutoriais
O software de Reconhecimento Óptico de Caracteres (OCR) visualiza o conteúdo em vários estilos de fonte para um OCR de texto preciso. Use regiões de leitura retangulares para melhorar a velocidade e a precisão. O processamento multithread em múltiplos núcleos aprimora a velocidade de leitura do OCR.
Documentação de referência da APIO que realmente torna o IronOCR especial é sua capacidade de ler documentos digitalizados de má qualidade. Sua biblioteca de pré-processamento exclusiva reduz ruído de fundo, rotação, distorção e alinhamento incorreto, além de simplificar cores e aprimorar a resolução e o contraste. As configurações de AutoOCR e OCR Avançado do Iron fornecem aos desenvolvedores as ferramentas necessárias para obter os melhores resultados possíveis, sempre.
Saber mais
Pacotes de idiomas disponíveis para: árabe, chinês simplificado, chinês tradicional, dinamarquês, inglês, finlandês, francês, alemão, hebraico, italiano, japonês, coreano, português, russo, espanhol e sueco. Outros idiomas podem ser adicionados mediante solicitação.
Saber maisO IronOCR gera conteúdo como texto simples e dados de código de barras. Um modelo alternativo de objeto de dados estruturados permite que os desenvolvedores recebam todo o conteúdo no formato de cabeçalhos, parágrafos, linhas, palavras e caracteres estruturados para entrada direta em aplicativos .NET.
Saber mais
Licenças gratuitas para desenvolvimento comunitário. Licenças comerciais a partir de US$ 749.
C# Tesseract OCR
Jim tem sido uma figura fundamental no desenvolvimento do IronOCR. Ele projeta e constrói algoritmos de processamento de imagem e métodos de leitura para OCR.
Veja a comparação do Tesseract feita por Jim.
C# OCR ASP.NET
Aprenda como a equipe de Gemma usa o IronOCR para ler texto de imagens para seu software de arquivamento. Gemma compartilha seus próprios exemplos de código.
Veja o tutorial de Gemma sobre como converter imagem em texto.
A equipe da Iron possui mais de 10 anos de experiência no mercado de componentes de software .NET.