Démarrer avec des exemples d'OCR .NET

C# + VB.NET: AutoOcr AutoOcr
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.

C# + VB.NET: Langues Intl Langues Intl
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

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.

C# + VB.NET: Objets de résultats Objets de résultats
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 :

  • Page
  • Paragraphe
  • Ligne de texte
  • Mot
  • Caractère individuel
  • et code-barres

Soutien humain directement par notre équipe de développement

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 question

Moteur de lecture pour la reconnaissance optique de caractères (OCR) - Image to Text in OCR .NET SDK

La 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.

Sous le capot - IronOCR fournit des résultats parfaits

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 tutoriel

Fonctionne avec plusieurs langues internationales

Les 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 !

Que signifie pour vous la prise en charge de l'OCR multilingue ?

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 linguistiques

Traitement des images pour une lecture précise des scans imparfaits

En 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.

Poursuivez sans crainte - IronOCR vous couvre !

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 à Tesseract

Rapide et précis - des PDF numérisés aux images numérisées avec rotation

Contrairement à 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.

Une performance du début à la fin

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 fonctions

Exporter les données des résultats de l'OCR directement vers votre application

Mê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.

Exporter confortablement vers l'application cible et les formats - XHTML, document consultable, HOCR et HTML

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 plus
Soutient :
  • .NET Framework 4.0 et supérieur : C#, VB, F#
  • Icône Microsoft Visual Studio. icône de l'IDE de développement .NET
  • Support de l'installateur NuGet pour Visual Studio
  • Compatible avec l'assistant de langage C# de JetBrains ReSharper
  • Compatible avec la plateforme d'hébergement Microsoft Azure C# .NET

Licences et tarifs

Gratuit licences de développement communautaire. Licences commerciales à partir de 749 $.

Licence de la bibliothèque du projet C# + VB.NET

Projet

Développeur C# + VB.NET Licence de bibliothèque

Développeur

Organisation Licences pour les bibliothèques C# + VB.NET

Organisation

Licence de la bibliothèque C# + VB.NET de l'Agence

Agence

Licence de la bibliothèque C# + VB.NET pour SaaS

SaaS

Licence OEM pour la bibliothèque C# + VB.NET

OEM

Voir les options de licence complète  

Tutoriels OCR de notre communauté .NET

.NET Tesseract OCR | IronOCR for .NET

C# Tesseract OCR

Jim Baker est ingénieur de développement chez Iron, où il développe le produit OCR

Comparaison IronOCR & Tesseract for .NET

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 comparaison
Texte vers image dans .NET | Tutoriel

C# OCR ASP.NET

Gemma Beckford - Ingénieur solutions Microsoft

Texte à partir d'images pour .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 texte
Des milliers de développeurs utilisent IronOCR pour...

Systèmes comptables et financiers

  • # Recettes
  • # Rapports
  • # Impression des factures
Ajouter la prise en charge du format PDF aux systèmes comptables et financiers ASP.NET

Numérisation des entreprises

  • # Documentation
  • # Commande et étiquetage
  • # Remplacement du papier
Cas d'utilisation de la numérisation des entreprises en C#

Gestion de contenu d'entreprise

  • # Production de contenu
  • # Gestion des documents
  • # Distribution du contenu
prise en charge des PDF par le CMS .NET

Applications de données et de rapports

  • # Suivi des performances
  • # Cartographie des tendances
  • # Rapports
Rapports PDF en C#
Iron Software Enterprise Développeurs de composants .NET

Des milliers d'entreprises, de gouvernements, de PME et de développeurs font confiance aux produits logiciels d'Iron.

L'équipe d'Iron a plus de 10 ans d'expérience sur le marché des composants logiciels .NET.

ANZ
Nexudus
Foley
GE
Equinor
Medcode
Vireq
Marval