IRONSOFTWAREHOME

C# OCR Image to Text Tutorial: Convert Images to Text Without Tesseract

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 4 juin 2026

Vous cherchez à convertir des images en texte en C# sans avoir à vous soucier des configurations complexes de Tesseract ? Ce tutoriel complet sur IronOCR en C# vous montre comment implémenter une puissante reconnaissance optique de caractères dans vos applications .NET avec seulement quelques lignes de code.

Guide de démarrage rapide : extraire du texte d'une image en une seule ligne

Cet exemple montre à quel point IronOCR est facile à appréhender : une seule ligne de C# transforme votre image en texte. Il démontre l'initialisation du moteur OCR et la lecture et la récupération immédiates du texte sans configuration complexe.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Copiez et exécutez cet extrait de code.

    string text = new IronTesseract().Read("image.png").Text;
    C#
  3. 3Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronOCR dans votre projet dès aujourd'hui avec un essai gratuit
    arrow pointer

Comment lire le texte des images dans les applications .NET ?

Pour intégrer la fonctionnalité de conversion d'images en texte par reconnaissance optique de caractères (OCR) en C# dans vos applications .NET, vous aurez besoin d'une bibliothèque OCR fiable. IronOCR fournit une solution gérée utilisant la classe IronOcr.IronTesseract qui maximise à la fois la précision et la rapidité sans nécessiter de dépendances externes.

Commencez par installer IronOCR dans votre projet Visual Studio. Vous pouvez télécharger directement la DLL IronOCR ou utiliser le gestionnaire de packages NuGet .

PM > Install-Package IronOcr

Pourquoi choisir IronOCR pour l'OCR en C# sans Tesseract ?

Lorsque vous devez convertir des images en texte en C#, IronOCR offre des avantages significatifs par rapport aux implémentations Tesseract traditionnelles :

  • Fonctionne immédiatement dans les environnements .NET purs Aucune installation ni configuration de Tesseract requise
  • Fonctionne avec les moteurs les plus récents : Tesseract 5 (ainsi que Tesseract 4 et 3)
  • Compatible avec .NET Framework 4.6.2+, .NET Standard 2+ et .NET Core 2, 3, 5, 6, 7, 8, 9 et 10
  • Améliore la précision et la vitesse par rapport au Tesseract de base
  • Prend en charge les déploiements Xamarin, Mono, Azure et Docker
  • Gère les dictionnaires Tesseract complexes via les packages NuGet
  • Prend en charge automatiquement les fichiers PDF, les TIFF multi-images et tous les principaux formats d'image.
  • Corrige les numérisations de mauvaise qualité et déformées pour des résultats optimaux

Comment utiliser le tutoriel IronOCR C# pour un OCR de base ?

Cet exemple C# avec Iron Tesseract illustre la méthode la plus simple pour lire du texte à partir d'une image à l'aide d'IronOCR. La classe IronOcr.IronTesseract extrait du texte et le retourne sous forme de chaîne.

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames(@"img\Potter.LowQuality.tiff", pageindices);
input.Deskew(); // removes rotation and perspective
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);

Ce code atteint une précision de 100 % sur les images nettes, en extrayant le texte exactement comme il apparaît :

IronOCR Simple Example

In this simple example we test the accuracy of our C# OCR library to read text from a PNG Image. This is a very basic test, but things will get more complicated as the tutorial continues.

The quick brown fox jumps over the lazy dog
Text

La classe IronTesseract gère les opérations OCR complexes en interne. Il effectue automatiquement une analyse d'alignement, optimise la résolution et utilise l'IA pour lire le texte de l'image grâce à IronOCR avec une précision comparable à celle de l'humain.

Malgré le traitement sophistiqué qui s'effectue en arrière-plan — incluant l'analyse d'images, l'optimisation du moteur et la reconnaissance intelligente de texte — le processus OCR atteint une vitesse de lecture humaine tout en conservant des niveaux de précision exceptionnels.

Exemple simple IronOCR montrant la conversion d'une image en texte en C# avec une précision de 100% Capture d'écran démontrant la capacité d'IronOCR à extraire du texte d'une image PNG avec une précision parfaite

Comment mettre en œuvre un OCR C# avancé sans configuration Tesseract ?

Pour les applications de production nécessitant une performance optimale lorsque vous convertissez des images en texte en C#, utilisez les classes OcrInput et IronTesseract ensemble. Cette approche permet un contrôle précis du processus OCR.

Fonctionnalités de la classe OcrInput

  • Prend en charge plusieurs formats d'image : JPEG, TIFF, GIF, BMP, PNG
  • Importe des PDF complets ou des pages spécifiques
  • Améliore automatiquement le contraste, la résolution et la qualité d'image
  • Corrige la rotation, le bruit de numérisation, l'inclinaison et les images négatives

Fonctionnalités de la classe IronTesseract

  • Accès à plus de 127 langues pré-intégrées
  • Moteurs Tesseract 5, 4 et 3 inclus
  • Spécification du type de document (capture d'écran, extrait ou document complet)
  • Fonctionnalités intégrées de lecture de codes-barres
  • Formats de sortie multiples : PDF consultables, HTML HOCR, objets DOM et chaînes de caractères

Comment commencer avec OcrInput et IronTesseract ?

Voici une configuration recommandée pour ce tutoriel IronOCR en C# qui fonctionne bien avec la plupart des types de documents :

using IronOcr;
using IronSoftware.Drawing;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
// restrict OCR to a content area for faster processing
Rectangle contentArea = new Rectangle(x: 215, y: 1250, height: 280, width: 1335);
input.LoadImage("img/ComSci.png", contentArea);
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
C#

Cette configuration permet d'obtenir systématiquement une précision quasi parfaite sur des numérisations de qualité moyenne. La méthode LoadImageFrames gère efficacement les documents multi-page, ce qui la rend idéale pour les scénarios de traitement par lots.


Document TIFF multipage contenant du texte Harry Potter, prêt pour le traitement OCR en C#

Exemple de document TIFF illustrant les capacités d'extraction de texte multipage d'IronOCR

La capacité à lire du texte à partir d'images et de codes-barres dans des documents numérisés comme les fichiers TIFF illustre comment IronOCR simplifie les tâches OCR complexes. La bibliothèque excelle avec les documents du monde réel, gérant de manière transparente les fichiers TIFF multipages et l'extraction de texte PDF .

Comment IronOCR gère-t-il les numérisations de faible qualité ?


Numérisation de faible qualité avec bruit numérique illustrant les capacités d'amélioration d'image d'IronOCR

Document basse résolution bruité qu'IronOCR peut traiter avec précision grâce à des filtres d'image.

Lors du traitement de numérisations imparfaites contenant des distorsions et du bruit numérique, IronOCR surpasse les autres bibliothèques OCR C# . Il est spécifiquement conçu pour des scénarios réels plutôt que pour des images de test impeccables.

// PM> Install IronOcr.Languages.Arabic
using IronOcr;

IronTesseract ocr = new IronTesseract();
ocr.Language = OcrLanguage.Arabic;

using OcrInput input = new OcrInput();
input.LoadImageFrame("img/arabic.gif", 1);
// add image filters if needed
// In this case, even thought input is very low quality
// IronTesseract can read what conventional Tesseract cannot.

OcrResult result = ocr.Read(input);

// Console can't print Arabic on Windows easily.
// Let's save to disk instead.
result.SaveAsTextFile("arabic.txt");

En utilisant Input.Deskew(), la précision s'améliore à 99,8% sur les scans de faible qualité, presque équivalent aux résultats de haute qualité. Cela démontre pourquoi IronOCR est le choix privilégié pour la reconnaissance optique de caractères (OCR) en C# sans les complications liées à Tesseract.

Les filtres d'image peuvent légèrement augmenter le temps de traitement, mais réduisent considérablement la durée globale de la reconnaissance optique de caractères (OCR). Trouver le juste équilibre dépend de la qualité de vos documents.

Pour la plupart des scénarios, Input.Deskew() et Input.DeNoise() fournissent des améliorations fiables à la performance de l'OCR. Apprenez-en davantage sur les techniques de prétraitement d'images .

Comment optimiser les performances et la vitesse de la reconnaissance optique de caractères (OCR) ?

Le facteur le plus important affectant la vitesse de la reconnaissance optique de caractères (OCR) lors de la conversion d'images en texte en C# est la qualité des données d'entrée. Une résolution DPI plus élevée (~200 dpi) avec un bruit minimal produit les résultats les plus rapides et les plus précis.

Bien qu'IronOCR excelle dans la correction de documents imparfaits, cette amélioration nécessite un temps de traitement supplémentaire.

Choisissez des formats d'image présentant un minimum d'artefacts de compression. Les formats TIFF et PNG donnent généralement des résultats plus rapides que le JPEG grâce à un bruit numérique plus faible.

Quels filtres d'image améliorent la vitesse de la reconnaissance optique de caractères (OCR) ?

Les filtres suivants peuvent améliorer considérablement les performances de votre flux de travail de conversion d'images en texte par reconnaissance optique de caractères (OCR) en C# :

  • OcrInput.Rotate(double degrees) : Fait tourner les images dans le sens des aiguilles d'une montre (négatif pour le sens inverse)
  • OcrInput.Binarize() : Convertit en noir/blanc, améliorant la performance dans des scénarios à faible contraste
  • OcrInput.ToGrayScale() : Convertit en nuances de gris pour des améliorations potentielles de vitesse
  • OcrInput.Contrast() : Ajuste automatiquement le contraste pour une meilleure précision
  • OcrInput.DeNoise() : Enlève les artefacts numériques lorsque le bruit est attendu
  • OcrInput.Invert() : Inverse les couleurs pour le texte blanc sur noir
  • OcrInput.Dilate() : Étend les limites du texte
  • OcrInput.Erode() : Réduit les limites du texte
  • OcrInput.Deskew() : Corrige l'alignement - essentiel pour les documents biaisés
  • OcrInput.DeepCleanBackgroundNoise() : Suppression agressive du bruit
  • OcrInput.EnhanceResolution : Améliore la qualité des images de basse résolution
  • OcrInput.DetectPageOrientation() : Détecte et corrige la rotation des pages. Passez un OrientationDetectionMode pour contrôler le compromis précision/vitesse : Fast, Balanced, Detailed ou ExtremeDetailed (ajouté v2025.8.6)

Scale() et EnhanceResolution() sont incompatibles avec SaveAsSearchablePdf() en raison d'un problème connu dans v2025.12.3. Tous les autres filtres fonctionnent correctement avec la sortie de PDF indexable.

Comment configurer IronOCR pour une vitesse maximale ?

Utilisez ces paramètres pour optimiser la vitesse lors du traitement de numérisations de haute qualité :

using IronOcr;

IronTesseract ocr = new IronTesseract();
ocr.Language = OcrLanguage.ChineseSimplified;

// We can add any number of languages.
ocr.AddSecondaryLanguage(OcrLanguage.English);
// Optionally add custom tesseract .traineddata files by specifying a file path

using OcrInput input = new OcrInput();
input.LoadImage("img/MultiLanguage.jpeg");
OcrResult result = ocr.Read(input);
result.SaveAsTextFile("MultiLanguage.txt");

Cette configuration optimisée maintient une précision de 99,8 % tout en permettant une amélioration de la vitesse de 35 % par rapport aux paramètres par défaut.

Comment lire des zones spécifiques d'images à l'aide de l'OCR en C# ?

L'exemple Iron Tesseract C# ci-dessous montre comment cibler des régions spécifiques en utilisant System.Drawing.Rectangle. Cette technique est précieuse pour le traitement des formulaires standardisés où le texte apparaît à des emplacements prévisibles.

IronOCR peut-il traiter les régions recadrées pour des résultats plus rapides ?

En utilisant des coordonnées basées sur les pixels, vous pouvez limiter la reconnaissance optique de caractères (OCR) à des zones spécifiques, ce qui améliore considérablement la vitesse et empêche l'extraction de texte indésirable :

using IronOcr;

IronTesseract ocr = new IronTesseract();

using OcrInput input = new OcrInput();
input.LoadImage("image1.jpeg");
input.LoadImage("image2.png");
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("image3.gif", pageindices);

OcrResult result = ocr.Read(input);

Console.WriteLine($"{result.Pages.Length} Pages"); // 3 Pages

Cette approche ciblée permet un gain de vitesse de 41 % tout en extrayant uniquement le texte pertinent. Il est idéal pour les documents structurés tels que les factures , les chèques et les formulaires. La même technique de recadrage fonctionne parfaitement avec les opérations OCR de PDF .

Document de science informatique montrant une extraction de région OCR ciblée en C# Document illustrant l'extraction précise de texte par région à l'aide de la sélection rectangulaire d'IronOCR

Combien de langues IronOCR prend-il en charge ?

IronOCR propose 127 langues internationales via des packs linguistiques pratiques. Téléchargez-les sous forme de DLL depuis notre site web ou via le gestionnaire de packages NuGet .

Installez les modules linguistiques via l'interface NuGet ( recherchez " IronOcr.Languages " ) ou consultez la liste complète des modules linguistiques .

Les langues prises en charge incluent l'arabe, le chinois (simplifié/traditionnel), le japonais, le coréen, l'hindi, le russe, l'allemand, le français, l'espagnol et plus de 115 autres, chacune optimisée pour une reconnaissance de texte précise.

Comment implémenter la reconnaissance optique de caractères (OCR) dans plusieurs langues ?

Ce tutoriel IronOCR en C# illustre la reconnaissance de texte arabe :

PM > Install-Package IronOcr.Languages.Arabic

Traitement d'un texte arabe par IronOCR illustrant la prise en charge de la reconnaissance optique de caractères multilingue

IronOCR extrait avec précision du texte arabe d'une image GIF

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
input.LoadPdf("example.pdf", Password: "password");
// We can also select specific PDF page numbers to OCR

OcrResult result = ocr.Read(input);

Console.WriteLine(result.Text);
Console.WriteLine($"{result.Pages.Length} Pages");
// 1 page for every page of the PDF

IronOCR peut-il gérer des documents multilingues ?

Lorsque les documents contiennent plusieurs langues, configurez IronOCR pour la prise en charge multilingue :

PM > Install-Package IronOcr.Languages.ChineseSimplified

using IronOcr;

IronTesseract ocr = new IronTesseract();

using OcrInput input = new OcrInput();
input.Title = "Pdf Metadata Name";
input.LoadPdf("example.pdf", Password: "password");
OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable.pdf");

Comment traiter des documents multi-pages avec OCR en C# ?

IronOCR combine harmonieusement plusieurs pages ou images dans un seul OcrResult. Cette fonctionnalité offre des possibilités puissantes telles que la création de PDF consultables et l'extraction de texte à partir d'ensembles de documents.

Combinez et associez différentes sources (images, images TIFF et pages PDF) en une seule opération OCR :

using IronOcr;

IronTesseract ocr = new IronTesseract();
using OcrInput input = new OcrInput();
input.Title = "Pdf Title";
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("example.tiff", pageindices);
OcrResult result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable.pdf");

Traiter efficacement toutes les pages d'un fichier TIFF :

using IronOcr;

IronTesseract ocr = new IronTesseract();

using OcrInput input = new OcrInput();
input.Title = "Html Title";

// Add more content as required...
input.LoadImage("image2.jpeg");
input.LoadPdf("example.pdf",Password: "password");
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("example.tiff", pageindices);

OcrResult result = ocr.Read(input);
result.SaveAsHocrFile("hocr.html");

Convertir les fichiers TIFF ou PDF en formats consultables :

using IronOcr;

IronTesseract ocr = new IronTesseract();

ocr.Configuration.ReadBarCodes = true;

using OcrInput input = new OcrInput();
input.LoadImage("img/Barcode.png");

OcrResult result = ocr.Read(input);

foreach (var barcode in result.Barcodes)
{
    Console.WriteLine(barcode.Value);
    // type and location properties also exposed
}

Convertir les fichiers PDF existants en versions consultables :

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

IronTesseract ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;

using OcrInput input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames(@"img\Potter.tiff", pageindices);

OcrResult result = ocr.Read(input);

foreach (var page in result.Pages)
{
    // Page object
    int pageNumber = page.PageNumber;
    string pageText = page.Text;
    int pageWordCount = page.WordCount;

    // null if we don't set Ocr.Configuration.ReadBarCodes = true;
    OcrResult.Barcode[] barcodes = page.Barcodes;

    AnyBitmap pageImage = page.ToBitmap(input);
    System.Drawing.Bitmap pageImageLegacy = page.ToBitmap(input);
    double pageWidth = page.Width;
    double pageHeight = page.Height;

    foreach (var paragraph in page.Paragraphs)
    {
        // Pages -> Paragraphs
        int paragraphNumber = paragraph.ParagraphNumber;
        String paragraphText = paragraph.Text;
        System.Drawing.Bitmap paragraphImage = paragraph.ToBitmap(input);
        int paragraphXLocation = paragraph.X;
        int paragraphYLocation = paragraph.Y;
        int paragraphWidth = paragraph.Width;
        int paragraphHeight = paragraph.Height;
        double paragraphOcrAccuracy = paragraph.Confidence;
        var paragraphTextDirection = paragraph.TextDirection;

        foreach (var line in paragraph.Lines)
        {
            // Pages -> Paragraphs -> Lines
            int lineNumber = line.LineNumber;
            String lineText = line.Text;
            AnyBitmap lineImage = line.ToBitmap(input);
            System.Drawing.Bitmap lineImageLegacy = line.ToBitmap(input);
            int lineXLocation = line.X;
            int lineYLocation = 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(input);
                System.Drawing.Image wordImageLegacy = word.ToBitmap(input);
                int wordXLocation = word.X;
                int wordYLocation = word.Y;
                int wordWidth = word.Width;
                int wordHeight = word.Height;
                double wordOcrAccuracy = word.Confidence;

                if (word.Font != null)
                {
                    // Word.Font is only set when using Tesseract Engine Modes rather than LTSM
                    String fontName = word.Font.FontName;
                    double fontSize = word.Font.FontSize;
                    bool isBold = word.Font.IsBold;
                    bool isFixedWidth = word.Font.IsFixedWidth;
                    bool isItalic = word.Font.IsItalic;
                    bool isSerif = word.Font.IsSerif;
                    bool isUnderlined = word.Font.IsUnderlined;
                    bool fontIsCaligraphic = word.Font.IsCaligraphic;
                }

                foreach (var character in word.Characters)
                {
                    // Pages -> Paragraphs -> Lines -> Words -> Characters
                    int characterNumber = character.CharacterNumber;
                    String characterText = character.Text;
                    AnyBitmap characterImage = character.ToBitmap(input);
                    System.Drawing.Bitmap characterImageLegacy = character.ToBitmap(input);
                    int characterXLocation = character.X;
                    int characterYLocation = character.Y;
                    int characterWidth = character.Width;
                    int characterHeight = character.Height;
                    double characterOcrAccuracy = character.Confidence;

                    // Output alternative symbols choices and their probability.
                    // Very useful for spell checking
                    OcrResult.Choice[] characterChoices = character.Choices;
                }
            }
        }
    }
}

Appliquez la même technique aux conversions TIFF :

using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Configure document properties
    input.Title = "Scanned Archive Document";

    // Select pages to process
    var pageIndices = new int[] { 1, 2 };
    input.LoadImageFrames("example.tiff", pageIndices);

    // Create searchable PDF from TIFF
    OcrResult result = ocr.Read(input);
    result.SaveAsSearchablePdf("searchable.pdf");
}

Comment exporter les résultats OCR au format HTML HOCR ?

IronOCR prend en charge l'exportation HTML HOCR, permettant la conversion de PDF structurés en HTML et de TIFF en HTML tout en préservant les informations de mise en page :

using IronOcr;

var ocr = new IronTesseract();

using (var input = new OcrInput())
{
    // Set HTML title
    input.Title = "Document Archive";

    // Process multiple document types
    input.LoadImage("image2.jpeg");
    input.LoadPdf("example.pdf", "password");

    // Add TIFF pages
    var pageIndices = new int[] { 1, 2 };
    input.LoadImageFrames("example.tiff", pageIndices);

    // Export as HOCR with position data
    OcrResult result = ocr.Read(input);
    result.SaveAsHocrFile("hocr.html");
}

IronOCR peut-il lire les codes-barres ainsi que le texte ?

IronOCR combine de manière unique la reconnaissance de texte et la lecture de codes-barres , éliminant ainsi le besoin de bibliothèques séparées :

// Enable combined text and barcode recognition
using IronOcr;

var ocr = new IronTesseract();

// Enable barcode detection
ocr.Configuration.ReadBarCodes = true;

using (var input = new OcrInput())
{
    // Load image containing both text and barcodes
    input.LoadImage("img/Barcode.png");

    // Process both text and barcodes
    var result = ocr.Read(input);

    // Extract barcode data
    foreach (var barcode in result.Barcodes)
    {
        Console.WriteLine($"Barcode Value: {barcode.Value}");
        Console.WriteLine($"Format: {barcode.Format}");
    }
}
C#

Comment accéder aux résultats OCR détaillés et aux métadonnées ?

L'objet de résultats IronOCR fournit des données complètes que les développeurs avancés peuvent exploiter pour des applications sophistiquées.

Chaque OcrResult contient des collections hiérarchiques : pages, paragraphes, lignes, mots, et caractères. Tous les éléments incluent des métadonnées détaillées telles que l'emplacement, les informations sur la police et les scores de confiance.

Les éléments individuels (paragraphes, mots, codes-barres) peuvent être exportés sous forme d'images ou de bitmaps pour un traitement ultérieur :

using System;
using IronOcr;
using IronSoftware.Drawing;

// Configure with barcode support
IronTesseract ocr = new IronTesseract
{
    Configuration = { ReadBarCodes = true }
};

using OcrInput input = new OcrInput();

// Process multi-page document
int[] pageIndices = { 1, 2 };
input.LoadImageFrames(@"img\Potter.tiff", pageIndices);

OcrResult result = ocr.Read(input);

// Navigate the complete results hierarchy
foreach (var page in result.Pages)
{
    // Page-level data
    int pageNumber = page.PageNumber;
    string pageText = page.Text;
    int pageWordCount = page.WordCount;

    // Extract page elements
    OcrResult.Barcode[] barcodes = page.Barcodes;
    AnyBitmap pageImage = page.ToBitmap();
    double pageWidth = page.Width;
    double pageHeight = page.Height;

    foreach (var paragraph in page.Paragraphs)
    {
        // Paragraph properties
        int paragraphNumber = paragraph.ParagraphNumber;
        string paragraphText = paragraph.Text;
        double paragraphConfidence = paragraph.Confidence;
        var textDirection = paragraph.TextDirection;

        foreach (var line in paragraph.Lines)
        {
            // Line details including baseline information
            string lineText = line.Text;
            double lineConfidence = line.Confidence;
            double baselineAngle = line.BaselineAngle;
            double baselineOffset = line.BaselineOffset;

            foreach (var word in line.Words)
            {
                // Word-level data
                string wordText = word.Text;
                double wordConfidence = word.Confidence;

                // Font information (when available)
                if (word.Font != null)
                {
                    string fontName = word.Font.FontName;
                    double fontSize = word.Font.FontSize;
                    bool isBold = word.Font.IsBold;
                    bool isItalic = word.Font.IsItalic;
                }

                foreach (var character in word.Characters)
                {
                    // Character-level analysis
                    string charText = character.Text;
                    double charConfidence = character.Confidence;

                    // Alternative character choices for spell-checking
                    OcrResult.Choice[] alternatives = character.Choices;
                }
            }
        }
    }
}

Résumé

IronOCR offre aux développeurs C# l'implémentation la plus avancée de l'API Tesseract , fonctionnant de manière transparente sur les plateformes Windows, Linux et Mac. Sa capacité à lire avec précision le texte à partir d'une image grâce à IronOCR — même à partir de documents imparfaits — la distingue des solutions OCR de base.

Les caractéristiques uniques de la bibliothèque incluent la lecture intégrée des codes-barres et la possibilité d'exporter les résultats sous forme de PDF consultables ou de HTML HOCR, des fonctionnalités indisponibles dans les implémentations Tesseract standard.

Aller de l'avant

Pour continuer à maîtriser IronOCR :

Téléchargement du code source

Prêt à implémenter la conversion d'images en texte par reconnaissance optique de caractères (OCR) en C# dans vos applications ? Téléchargez IronOCR et commencez votre essai gratuit dès aujourd'hui.

Questions Fréquemment Posées

Comment puis-je convertir des images en texte en C# sans utiliser Tesseract ?

Vous pouvez utiliser IronOCR pour convertir des images en texte en C# sans avoir besoin de Tesseract. IronOCR simplifie le processus avec des méthodes intégrées qui gèrent directement la conversion image-texte.

Comment améliorer la précision de l'OCR sur les images de faible qualité ?

IronOCR fournit des filtres d'image tels que Input.Deskew() et Input.DeNoise() qui peuvent être utilisés pour améliorer les images de faible qualité en corrigeant les distorsions et en réduisant le bruit, améliorant ainsi considérablement la précision de l'OCR.

Quelles sont les étapes pour extraire du texte d'un document multipage en utilisant l'OCR en C# ?

Pour extraire du texte de documents multipages, IronOCR vous permet de charger et traiter chaque page en utilisant des méthodes comme LoadPdf() pour les PDF ou en manipulant les fichiers TIFF, convertissant efficacement chaque page en texte.

Est-il possible de lire simultanément des codes-barres et du texte à partir d'une image ?

Oui, IronOCR peut lire à la fois le texte et les codes-barres à partir d'une seule image. Vous pouvez activer la lecture de codes-barres avec ocr.Configuration.ReadBarCodes = true, ce qui permet l'extraction à la fois des données textuelles et de code-barres.

Comment puis-je configurer l'OCR pour traiter des documents dans plusieurs langues ?

IronOCR prend en charge plus de 125 langues et vous permet de définir une langue principale en utilisant ocr.Language et d'ajouter des langues supplémentaires avec ocr.AddSecondaryLanguage() pour le traitement de documents multilingues.

Quelles méthodes sont disponibles pour exporter les résultats de l'OCR dans différents formats ?

IronOCR offre plusieurs méthodes pour exporter les résultats OCR, telles que SaveAsSearchablePdf() pour les PDF, SaveAsTextFile() pour le texte brut, et SaveAsHocrFile() pour le format HTML HOCR.

Comment puis-je optimiser la vitesse de traitement OCR pour les fichiers image volumineux ?

Pour optimiser la vitesse de traitement OCR, utilisez OcrLanguage.EnglishFast d'IronOCR pour une reconnaissance de langue plus rapide et définissez des régions spécifiques pour l'OCR en utilisant System.Drawing.Rectangle afin de réduire le temps de traitement.

Comment gérer le traitement OCR pour les fichiers PDF protégés ?

Lors de la manipulation de fichiers PDF protégés, utilisez la méthode LoadPdf() avec le bon mot de passe. IronOCR gère les PDF basés sur des images en convertissant automatiquement les pages en images pour le traitement de l'OCR.

Que dois-je faire si les résultats de l'OCR ne sont pas précis ?

Si les résultats de l'OCR sont inexacts, envisagez d'utiliser les fonctionnalités d'amélioration d'image d'IronOCR comme Input.Deskew() et Input.DeNoise(), et assurez-vous que les packs linguistiques corrects sont installés.

Puis-je personnaliser le processus OCR pour exclure certains caractères ?

Oui, IronOCR permet la personnalisation du processus OCR en utilisant la propriété BlackListCharacters pour exclure certains caractères, améliorant la précision et la vitesse de traitement en se concentrant uniquement sur le texte pertinent.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Prêt à commencer?

Nuget Downloads 6,236,385Version :2026.9vient de sortir

Obtenez votre GRATUIT

Clé d'essai de 30 jours instantanément.

bullet_checkedAucune carte de crédit ou création de compte requise
bullet_testTester en production
sans filigranes
bullet_calendarProduit entièrement fonctionnel
pendant 30 jours
bullet_supportSupport technique 24/5
pendant l'essai
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et cherchez "IronOCR"
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez le programme d'installation Windows ici.

  1. Téléchargez et décompressez IronOCR à un emplacement tel que ~/Libs dans votre répertoire du projet
  2. Dans l'Explorateur de Solutions de Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, "IronOCR.dll"

Licences à partir de $999

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise