Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
using IronOcr;
string imageText = new IronTesseract().Read(@"images\image.png").Text;
Imports IronOcr
Private imageText As String = (New IronTesseract()).Read("images\image.png").Text
IronOCR est unique dans sa capacité à détecter et à lire automatiquement du texte à partir d'images scannées imparfaites et de documents PDF. La classe IronTesseract
fournit l'API la plus simple.
Essayez d'autres exemples de code pour contrôler finement vos opérations d'OCR en C#.
IronOCR fournit la version la plus avancée de Tesseract connue dans le monde entier, sur n'importe quelle plateforme. Avec une vitesse et une précision accrues, ainsi qu'une DLL et une API natives.
Prend en charge Tesseract 3, Tesseract 4 et Tesseract 5 pour .NET Framework, Standard, Core, Xamarin et Mono.
Tesseract de fer
utiliser des API intuitivesLire
pour effectuer l'OCR en VB.NETusing 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
IronOCR prend en charge 125 langues internationales.
Outre l'anglais, qui est installé par défaut, des packs de langues peuvent être ajoutés à votre projet .NET via NuGet ou téléchargés à partir de notre site Web Page des langues.
La plupart des langues sont disponibles en version rapide, standard (recommandé) et la meilleure qualité. Le meilleur est peut-être plus précis, mais il est aussi plus lent.
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
IronOCR renvoie un objet de résultat avancé pour chaque page qu'il scanne à l'aide de Tesseract 5. Il contient les données de localisation, les images, le texte, la confiance statistique, les choix de symboles alternatifs, les noms de polices, la décoration des tailles de polices, les graisses de polices et la position pour chacun d'entre eux :
Qu'il s'agisse de questions sur les produits, l'intégration ou les licences, l'équipe de développement des produits Iron est à votre disposition pour répondre à toutes vos questions. Prenez contact et entamez un dialogue avec Iron pour tirer le meilleur parti de notre bibliothèque dans le cadre de votre projet.
Poser une questionLa bibliothèque IronOCR (Optical Character Recognition) permet aux développeurs d'obtenir des résultats rapides et efficaces lors de la conversion d'images en texte. IronOCR fonctionne avec .NET, VB .NET et C#. Nos meilleures applications .NET pour les frameworks .NET sont spécialement conçues pour vous, le développeur, afin de vous aider à obtenir des performances optimales pour vos projets.
L'OCR reçoit et reconnaît les fichiers texte, les codes-barres, le contenu QR, etc. Cependant, IronOCR fournit également de nombreuses méthodes qui vous permettent d'ajouter la lecture OCR et le texte à partir d'images sur le web, le bureau Windows ou les projets .NET de la console avec la prise en charge d'un nombre pratiquement illimité de formats d'image et de fichiers, tels que JPG, PNG, GIF, TIFF, BMP, JPEG ou PDF.
Bien que les résultats de la reconnaissance de texte brut, de caractères, de lignes et de paragraphes à partir d'une image ne semblent pas évidents, vous constaterez que sous le capot d'IronOCR, les résultats sont en fait plus faciles à obtenir que vous ne l'auriez cru au départ. IronOCR analyse l'image pour en vérifier l'alignement, utilise son système de suppression du bruit et ses filtres pour vérifier la qualité et la résolution. Il examine ses propriétés, optimise le moteur OCR et utilise un réseau d'intelligence artificielle entraîné pour reconnaître le texte (à partir d'images) aussi bien que n'importe quel humain.
L'OCR n'est pas un processus simple, même pour un ordinateur. Cependant, IronOCR rend le processus global de création de documents consultables plus rapide et plus simple, avec une précision de 100 % et un minimum de lignes de code.
Fonctionne avec .NET, VB.NET, C#
Lire le tutorielLes logiciels ne sont pas limités aux frontières géographiques - les entreprises fonctionnent au-delà des frontières et s'appuient sur plusieurs langues pour atteindre leurs objectifs. De même, un outil de reconnaissance optique de caractères (OCR) qui n'effectue la reconnaissance de documents que dans une seule langue est un NON majeur à tous égards !
Grâce à une bibliothèque d'OCR multilingue qui offre de multiples fonctionnalités d'OCR, vous pouvez créer un document PDF interrogeable à partir d'un PDF numérisé ou d'une image numérisée dans plusieurs langues (du français au chinois !). Votre temps et vos efforts sont rationalisés grâce à un document PDF dynamique et consultable par mots que vous, vos clients ou votre organisation pouvez utiliser et réutiliser sans limites.
En mettant l'accent sur vous, votre entreprise et vos besoins en matière d'OCR, qu'ils soient intégrés ou à la demande, la bibliothèque IronOCR propose un large éventail de langues prises en charge. Votre prochain projet .NET peut être libéré de tout souci de compatibilité linguistique !
Qu'il s'agisse de l'arabe, de l'espagnol, du français, de l'allemand, de l'hébreu, de l'italien, du japonais, du chinois simplifié, du chinois traditionnel (mandarin), du danois, de l'anglais, du finnois, du portugais, du russe, de l'espagnol ou du suédois, il vous suffit de nommer les langues et nous les fournissons pour vous ! Vous pouvez télécharger votre langue préférée packs de langues ou contactez notre service d'assistance 24/7 pour plus de langues.
La première étape consiste à utiliser notre programme d'installation de paquets NuGet pour Windows Visual Studio.
Télécharger les packs linguistiquesEn quoi IronOCR diffère-t-il de ses concurrents ? En plus de vous permettre d'ajouter facilement des fonctionnalités d'OCR, d'extraire du texte et de numériser des images pivotées, il est également capable d'effectuer l'OCR à partir de numérisations imparfaites ! En revanche, la plupart des produits prêts à l'emploi disponibles sur le marché sont souvent rigides et imprécis, et voués à l'échec dans les applications réelles des particuliers et des entreprises, car la majorité d'entre eux travaillent avec du texte imprimé à la machine, en haute résolution et parfaitement ajusté.
IronOCR étend les capacités de Google Tesseract grâce à sa puissante DLL IronTesseract - une bibliothèque OCR native en C# dont la stabilité et la précision sont supérieures à celles de la bibliothèque Tesseract gratuite.
Avec le meilleur outil entre les mains, même si vous avez une image numérisée moins que parfaite ou une image stockée dans votre dossier de stockage - la conversion de la bibliothèque de traitement d'images d'IronOCR nettoie le bruit, effectue une rotation, réduit la distorsion et l'alignement en biais, et améliore la résolution et le contraste. Les paramètres avancés de reconnaissance optique de caractères (ROC) vous donnent, à vous les codeurs, les outils et le code nécessaires pour générer les meilleurs résultats de recherche possibles, à chaque fois.
Recherchez les mots dont vous avez besoin et ne soyez jamais déçu grâce aux résultats précis à 99,8-100 % et à la prise en charge illimitée des documents PDF, des fichiers TIFF multi-trames, JPEG et JPEG2000, GIF, PNG, BMP, WBMP, System.Drawing.Image, System.Drawing.Bitmap, System.IO.Streams d'images, des données d'images binaires (byte[]), et de tout ce qui va au-delà !
Une alternative à TesseractContrairement à d'autres applications .NET dans le cadre .NET, vous constaterez que la reconnaissance optique de caractères avancée, dans la console du gestionnaire de paquets et la console de texte reconnu d'IronOCR, donne à vos utilisateurs la possibilité de lire plusieurs polices de caractères (de Times New Roman à tout ce qui est fantaisiste ou supposé difficile à comprendre), des graisses et des styles pour une lecture précise du texte à partir d'une image entière ou d'images numérisées. Notre capacité à sélectionner certaines zones d'une image contribue à améliorer la vitesse et la précision. Le multithreading, de quelques lignes à quelques paragraphes, accélère le moteur d'OCR et permet la lecture de plusieurs documents sur des machines multicœurs.
Nos revendications en matière de rapidité et de précision ne se limitent pas au processus de reconnaissance des caractères. En effet, le moteur OCR .NET d'IronOCR est une bibliothèque logicielle .NET facile à installer, complète et bien documentée. Il y a une seule installation du gestionnaire de paquets NuGet pour Visual Studio, et une compatibilité multithreading avec les applications MVC, WebApp, Desktop, Console et Server.
Vous pouvez obtenir une précision d'OCR de 99,8 à 100 % sans services Web externes, sans frais permanents et sans avoir à envoyer des documents confidentiels sur Internet. Sans la lourdeur du codage C#, IronOCR est le choix qui s'impose lorsque vous avez besoin d'une prise en charge complète de l'OCR de PDF pour de multiples caractères, mots, lignes, paragraphes, textes et documents.
Nous offrons les meilleures options pour les développeurs qui cherchent à perfectionner leur codage, car IronOCR fonctionne dès le départ sans qu'il soit nécessaire d'ajuster les performances ou de modifier lourdement les images d'entrée. La dernière version d'IronOCR est incroyablement rapide - jusqu'à dix fois plus rapide, et fait plus de 250% d'erreurs en moins que les versions précédentes. Nous mettons à jour nos propres versions pour vous aider à atteindre vos objectifs en vous fournissant la plateforme parfaite pour l'OCR !
Voir la liste complète des fonctionsMême lors de l'utilisation d'appareils mobiles, notre bibliothèque OCR .NET parfaite permet aux développeurs de coder " sans souci ", car IronOCR prend en charge l'exportation de contenu sous la forme d'un ensemble simple de texte simple et complexe, de texte codé par machine, de données de code-barres ou de données de modèle d'objet structuré. Vous pouvez diviser le contenu en paragraphes, lignes, mots, caractères et résultats de chaînes d'images pour une utilisation directe dans vos applications .NET.
Du code source au résultat final, les données obtenues seraient inutiles si vous n'étiez pas en mesure de les exporter vers votre application. IronOCR l'a bien compris et vous permet d'exporter le résultat de l'OCR au format XHTML afin de pouvoir travailler avec un format durable dans une gamme plus large d'applications et avec l'intégration dans des sites web complexes, sans parler des temps de chargement plus rapides !
Mais l'assistance ne s'arrête pas là. La possibilité d'exporter l'OCR vers des documents PDF interrogeables vous permet, ainsi qu'à vos clients et organisations, de stocker et d'extraire facilement des documents PDF à tout moment ! C'est particulièrement utile lorsque vous avez un contrat de 30 pages que vous pouvez rechercher dans votre base de données à l'aide de quelques mots clés, et cela vous permet également de présenter votre entreprise comme respectueuse de la conformité, étant donné qu'il est prouvé que les documents PDF consultables sont bénéfiques pour les malvoyants.
En outre, vous pouvez exporter vos résultats au format OCR qui représente votre sortie OCR, les informations de mise en page et de style, et intègre les informations correspondantes dans le format HTML standard.
En savoir plusGratuit licences de développement communautaire. Licences commerciales à partir de 749 $.
C# Tesseract OCR
Jim a joué un rôle de premier plan dans le développement d'IronOCR. Il conçoit et développe des algorithmes de traitement d'images et des méthodes de lecture pour l'OCR.
Voir la comparaisonC# OCR ASP.NET
Découvrez comment l'équipe de Gemma utilise IronOCR pour lire du texte à partir d'images pour leur logiciel d'archivage. Gemma partage ses propres exemples de code.
Tutoriel .NET de conversion d'image en texteL'équipe d'Iron a plus de 10 ans d'expérience sur le marché des composants logiciels .NET.
9 produits de l'API .NET pour vos documents de bureau