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 WebPage 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

Human Support related to OCR dans .NET Core

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
Image To Text related to OCR dans .NET Core

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

La bibliothèque IronOCR (Reconnaissance Optique de Caractères) 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, qui sont spécialement conçues pour vous — le développeur, afin de vous aider à atteindre des performances optimales pour vos projets.

OCR reçoit et reconnaît les fichiers texte, les codes-barres, le contenu QR, et plus encore. Toutefois, IronOCR fournit également de nombreuses méthodes qui vous permettent d'ajouter la lecture OCR et le texte des images dans les projets web, de bureau Windows ou console .NET avec le support de formats d'image et de fichiers pratiquement illimités, 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 reconnaissance de texte brut, de caractères, de lignes et de paragraphes à partir de la sortie d'image puissent ne pas sembler simples, vous constaterez que sous le capot d'IronOCR, les résultats sont en fait plus faciles que vous ne l'auriez pensé initialement. IronOCR scanne l'image pour l'alignement, utilise son élimination de bruit et ses filtres pour vérifier la qualité et la résolution. Il analyse ses propriétés, optimise le moteur OCR, et utilise un réseau d'intelligence artificielle entraîné pour ensuite reconnaître le texte (à partir des images) aussi bien qu'un 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 nombre minimal de lignes de code.

Fonctionne avec .NET, VB.NET, C#

Lire le tutoriel
Support For Languages related to OCR dans .NET Core

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 dépendent de plusieurs langues pour atteindre leurs résultats. De même, un outil de reconnaissance optique de caractères (OCR) qui ne réalise que la reconnaissance de documents dans une seule langue est un énorme NON à tous égards !

Que signifie le support OCR multilingue pour vous ?

Avec une bibliothèque OCR multilingue qui offre plusieurs fonctionnalités OCR, vous bénéficiez de la création d'un document PDF interrogeable à partir d'un PDF ou d'une image numérisée dans plusieurs langues (du français au chinois !). Votre temps et vos efforts sont optimisés avec un document PDF dynamique et interrogeable par mots que vous, vos clients ou votre organisation pouvez utiliser et réutiliser sans limites.

Avec un fort accent sur vous, votre entreprise et vos besoins en OCR, que ce soit intégré ou sur demande, la bibliothèque IronOCR propose une large gamme de langues prises en charge. Votre prochain projet .NET peut être exempt de soucis de compatibilité linguistique!

Que ce soit l'arabe, l'espagnol, le français, l'allemand, l'hébreu, l'italien, le japonais, le chinois simplifié, le chinois traditionnel (mandarin), le danois, l'anglais, le finnois, le portugais, le russe, l'espagnol ou le suédois, il vous suffit de nommer les langues et nous vous les fournissons! Vous pouvez télécharger vos packs linguistiques préférés ou contacter notre support 24/7 pour plus de langues.

La première étape consiste à utiliser notre installateur de package NuGet pour Windows Visual Studio.

Télécharger les packs linguistiques
Advanced Image related to OCR dans .NET Core

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

En quoi IronOCR se distingue-t-il de ses concurrents ? En plus de permettre d'ajouter facilement des fonctionnalités OCR, d'extraire du texte et de scanner des images pivotées, il a également la capacité d'effectuer de l'OCR à partir de scans imparfaits ! En revanche, de nombreux produits prêts à l'emploi sur le marché aujourd'hui sont souvent rigides et imprécis, voués à échouer dans des applications individuelles et d'entreprise réelles, car la majorité d'entre eux fonctionnent avec du texte imprimé par machine, haute résolution et parfaitement ajusté.

IronOCR étend les capacités de Google Tesseract avec son puissant IronTesseract DLL — une bibliothèque OCR C# native avec une stabilité améliorée et une précision supérieure à la bibliothèque Tesseract gratuite.

Poursuivez sans soucis - IronOCR vous couvre !

Avec le meilleur outil entre vos mains, même si vous avez une image scannée moins que parfaite ou une image stockée dans votre dossier de stockage — la bibliothèque de traitement d'images d'IronOCR nettoie le bruit, pivote, réduit la distorsion et l'alignement déformé, et améliore la résolution et le contraste. Les paramètres avancés de Reconnaissance Optique de Caractères (OCR) vous donnent — aux codeurs — les outils et le code pour générer les meilleurs résultats possibles de recherche, à chaque fois.

Cherchez les mots dont vous avez besoin et ne soyez jamais déçu avec des résultats précis de 99,8 à 100 % et le support illimité pour les documents PDF, les fichiers TIFF multiFrame, JPEG & JPEG2000, GIF, PNG, BMP, WBMP, System.Drawing.Image, System.Drawing.Bitmap, System.IO.Streams d'images, les données d'image binaires (byte[]), et tout le reste au-delà !

Une alternative à Tesseract
Fast And Polite Behavior related to OCR dans .NET Core

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

Contrairement à d'autres applications .NET dans le framework .NET, vous constaterez que la reconnaissance optique de caractères avancée, au sein de la console du gestionnaire de packages IronOCR et de la console de texte reconnu, offre à vos utilisateurs la capacité de lire plusieurs polices de mots (de Times New Roman à n'importe quoi de fantaisie ou supposément difficile à comprendre), poids et styles pour une lecture précise du texte à partir d'une image complète ou d'images numérisées. Notre capacité à sélectionner certaines zones d'une image aide à améliorer la vitesse et la précision. Le multithreading de quelques lignes à quelques paragraphes accélère le moteur OCR et permet la lecture de plusieurs documents sur des machines multi-cœurs.

Soutenue par des performances de bout en bout

Nos revendications de rapidité et de précision ne se limitent pas au processus de reconnaissance de caractères. En réalité, les améliorations commencent dès le point d'installation, puisque 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 de gestionnaire de packages NuGet pour Visual Studio, et une compatibilité multithread avec les applications MVC, WebApp, Desktop, Console et Serveur.

Vous pouvez atteindre une précision OCR de 99,8 à 100% sans aucun service web externe, frais continus ou avoir à envoyer des documents confidentiels sur Internet. Sans le codage C++ encombrant, IronOCR est le choix évident à faire lorsque vous avez besoin d'un support OCR complet pour plusieurs caractères, mots, lignes, paragraphes, textes et documents.

Nous offrons les meilleures options pour les développeurs cherchant à perfectionner leur codage, car IronOCR fonctionne immédiatement sans avoir besoin d'optimisation des performances ni de modifier fortement les images d'entrée. La dernière version d'IronOCR fonctionne incroyablement vite — jusqu'à dix fois plus rapidement, et commet plus de 250% d'erreurs en moins que les versions précédentes. Nous améliorons nos propres versions pour soutenir vos objectifs en fournissant la plateforme parfaite pour l'OCR!

Voir la liste complète des fonctions
Output Content related to OCR dans .NET Core

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

Même lorsque vous utilisez des appareils mobiles, notre bibliothèque OCR .NET parfaite permet aux développeurs de coder 'sans soucis' car IronOCR prend en charge l'exportation de contenu sous forme d'un ensemble simple de texte simple et complexe, de texte encodé 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.

Exportez confortablement vers votre application cible et formats — XHTML, Document Recherchable, HOCR et HTML

Du code source au résultat final — les données résultantes seraient inutiles si vous ne pouviez pas les exporter vers votre application. IronOCR comprend cela et vous permet d'exporter le résultat OCR vers XHTML afin de pouvoir travailler avec un format durable sur une gamme plus large d'applications et avec une intégration dans des sites Web complexes, sans oublier des temps de chargement plus rapides !

Cependant, le support ne s'arrête pas là. La possibilité d'exporter l'OCR vers des documents PDF recherchables vous permet, à vous, vos clients et vos organisations, de stocker et de récupérer des documents PDF à tout moment ! Cela est particulièrement bénéfique lorsque vous avez un contrat de 30 pages que vous pouvez rechercher dans votre base de données avec quelques mots-clés, et vous permet également de présenter votre entreprise comme étant respectueuse de la conformité, étant donné que les documents PDF recherchables se sont avérés bénéfiques pour les malvoyants.

En plus de ce qui précède, vous pouvez exporter vos résultats vers le format OCR qui représente votre sortie OCR, les informations de mise en page et de style, et intègre les informations connexes en 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

Licences de développement communautaire gratuites. 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.

Equinor
GE
Vireq
Marval
Foley
ANZ
Nexudus
Medcode