Passer au contenu du pied de page
UTILISATION D'IRONOCR

Tutoriel OCR en C# CodeProject : Extraire du texte à partir d'images avec IronOCR

La reconnaissance optique de caractères (OCR) transforme la manière dont les développeurs traitent les documents dans leurs projets .NET. Qu'il s'agisse de documents numérisés, de fichiers images ou de fichiers TIFF, la mise en œuvre d'une solution d'OCR fiable permet aux applications d'extraire du texte et de convertir des données visuelles en contenu lisible par une machine. Dans cet article, nous allons vous montrer comment utiliser l'OCR dans C# CodeProject à l'aide d'IronOCR, une puissante bibliothèque OCR qui simplifie l'ensemble du processus de reconnaissance de texte.

Démarrez votre essai gratuit d'IronOCR pour suivre ces exemples de code.

Comment configurer une bibliothèque OCR dans mon projet .NET?

La mise en place de la reconnaissance optique de caractères (OCR) dans Visual Studio ne nécessite que quelques étapes. La bibliothèque IronOCR est disponible via NuGet, ce qui facilite l'intégration pour toute application Windows.

Ouvrez Visual Studio et créez un nouveau projet d'application console. Dans l'explorateur de solutions, faites un clic droit sur Références et sélectionnez "Gérer les packages NuGet" Recherchez "IronOcr" et installez le package. Le gestionnaire de packages NuGet télécharge tous les fichiers DLL requis et ajoute automatiquement des références à votre projet.

// Install via Package Manager Console
Install-Package IronOCR
// Install via Package Manager Console
Install-Package IronOCR
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Une fois installé, ajoutez l'instruction using pour importer l'espace de noms IronOCR dans votre programme. La bibliothèque prend en charge .NET Framework 4.6.2+ et .NET Core, ce qui garantit la compatibilité entre les différents types de projets et les différentes versions de Windows.

Comment extraire du texte d'un fichier image?

La première étape du processus d'OCR consiste à charger une image et à la faire passer par le moteur d'OCR. IronOCR fournit la classe IronTesseract comme principale API OCR pour les opérations de reconnaissance de caractères. Cet exemple d'OCR démontre l'approche fondamentale de l'extraction de texte à partir de n'importe quel fichier image.

using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        // Initialize the new Tesseract engine
        var ocr = new IronTesseract();
        // Load the image file and perform OCR
        using (var input = new OcrInput())
        {
            input.LoadImage(@"sample-document.png");
            // Process the image and extract text
            OcrResult result = ocr.Read(input);
            // Output the recognized text
            var text = result.Text;
            Console.WriteLine(text);
        }
    }
}
using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        // Initialize the new Tesseract engine
        var ocr = new IronTesseract();
        // Load the image file and perform OCR
        using (var input = new OcrInput())
        {
            input.LoadImage(@"sample-document.png");
            // Process the image and extract text
            OcrResult result = ocr.Read(input);
            // Output the recognized text
            var text = result.Text;
            Console.WriteLine(text);
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie de reconnaissance optique de caractères

OCR en C# Tutoriel CodeProject : Extraire du texte à partir d'images avec IronOCR : Image 1 - Capture d'écran de la sortie OCR

Le code ci-dessus crée un objet IronTesseract qui sert de moteur OCR pour toutes les opérations de reconnaissance de texte. La classe OcrInput accepte différents formats d'image, notamment PNG, JPEG, BMP, GIF et TIFF. Lorsque vous appelez la méthode Read, la bibliothèque traite l'image d'entrée et renvoie un objet OcrResult contenant le texte reconnu.

La propriété OcrResult.Text fournit le contenu extrait sous la forme d'une chaîne de texte brut, prête à être traitée dans votre application. Ce code OCR gère en interne les algorithmes complexes de reconnaissance de caractères, ce qui permet d'obtenir des résultats de reconnaissance d'une grande précision pour différents types de documents.

Comment traiter des documents numérisés et des fichiers TIFF?

Les applications du monde réel nécessitent souvent le traitement de documents numérisés de plusieurs pages stockés sous forme de fichiers TIFF. La bibliothèque OCR gère efficacement ces scénarios en permettant aux développeurs de charger des plages de pages spécifiques ou de traiter des documents entiers. Cet exemple de code montre comment travailler avec des images TIFF multi-images.

using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            // Load specific pages from a multi-page TIFF file
            int[] pageIndices = new int[] { 0, 1, 2 };
            input.LoadImageFrames(@"scanned-documents.tiff", pageIndices);
            // Apply image enhancement for better results
            input.Deskew();
            OcrResult result = ocr.Read(input);
            // Access page-by-page results
            foreach (var page in result.Pages)
            {
                Console.WriteLine($"Page {page.PageNumber}:");
                Console.WriteLine(page.Text);
            }
        }
    }
}
using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            // Load specific pages from a multi-page TIFF file
            int[] pageIndices = new int[] { 0, 1, 2 };
            input.LoadImageFrames(@"scanned-documents.tiff", pageIndices);
            // Apply image enhancement for better results
            input.Deskew();
            OcrResult result = ocr.Read(input);
            // Access page-by-page results
            foreach (var page in result.Pages)
            {
                Console.WriteLine($"Page {page.PageNumber}:");
                Console.WriteLine(page.Text);
            }
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie ROC d'un fichier TIFF multi-pages

OCR in C# Tutoriel CodeProject : Extraire du texte à partir d'images avec IronOcr : Image 2 - Sortie OCR TIFF multi-pages

La méthode LoadImageFrames accepte un chemin d'accès au fichier et un tableau d'entiers spécifiant les pages à traiter. Cette approche permet d'optimiser les performances lorsque vous n'avez besoin que de pages spécifiques provenant d'archives documentaires volumineuses. Le filtre Deskew corrige les problèmes de rotation ou d'alignement des images numérisées, améliorant ainsi la qualité de l'image et la précision de l'OCR.

Chaque page du résultat conserve les informations de mise en page, y compris les paragraphes, les lignes et les mots individuels. L'API OCR permet d'accéder aux scores de confiance et aux données de positionnement, ce qui permet une analyse sophistiquée des documents au-delà de la simple extraction de texte.

Comment gérer les erreurs de code OCR et améliorer les résultats de la reconnaissance ?

Les applications de production requièrent un traitement des erreurs approprié pour gérer divers scénarios d'exception. Les problèmes de qualité d'image, les formats de fichiers non pris en charge ou les fichiers corrompus peuvent faire échouer le processus d'OCR. La mise en œuvre de la gestion des exceptions permet à votre application de répondre de manière élégante à ces situations.

using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        // Configure the OCR engine for your language
        ocr.Language = OcrLanguage.English;
        try
        {
            using (var input = new OcrInput())
            {
                input.LoadImage(@"document.png");
                // Enhance low-quality images
                input.DeNoise();
                input.Deskew();
                OcrResult result = ocr.Read(input);
                if (result.Text.Length > 0)
                {
                    Console.WriteLine("Recognized text:");
                    Console.WriteLine(result.Text);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"OCR Error: {ex.Message}");
        }
    }
}
using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        // Configure the OCR engine for your language
        ocr.Language = OcrLanguage.English;
        try
        {
            using (var input = new OcrInput())
            {
                input.LoadImage(@"document.png");
                // Enhance low-quality images
                input.DeNoise();
                input.Deskew();
                OcrResult result = ocr.Read(input);
                if (result.Text.Length > 0)
                {
                    Console.WriteLine("Recognized text:");
                    Console.WriteLine(result.Text);
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"OCR Error: {ex.Message}");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

La propriété Language permet de configurer le pack de langues utilisé par le moteur OCR pour la reconnaissance de texte. IronOCR prend en charge plus de 125 langues, chacune étant disponible sous forme de packages NuGet distincts. Le filtre DeNoise supprime les artefacts numériques des documents numérisés, tandis que le filtre Deskew corrige l'alignement, deux éléments essentiels pour obtenir des résultats de reconnaissance optimaux à partir d'images sources imparfaites.

Comment créer un PDF consultable à partir d'un texte reconnu?

La conversion de documents numérisés en fichiers PDF interrogeables est l'une des applications d'OCR les plus utiles. Les utilisateurs peuvent ensuite rechercher, sélectionner et copier du texte à partir de documents qui ne contenaient auparavant que des images. Cette transformation permet aux systèmes de gestion documentaire d'indexer le contenu et d'améliorer l'accessibilité.

using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            // Set document metadata
            input.Title = "Converted Document";
            // Load source images or existing PDF
            input.LoadImage(@"page1.png");
            input.LoadImage(@"page2.png");
            OcrResult result = ocr.Read(input);
            // Save as searchable PDF with embedded text layer
            result.SaveAsSearchablePdf(@"searchable-output.pdf");
            Console.WriteLine("Searchable PDF created successfully.");
            Console.WriteLine($"Total pages processed: {result.Pages.Count}");
        }
    }
}
using System;
using IronOcr;
class Program
{
    static void Main(string[] args)
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput())
        {
            // Set document metadata
            input.Title = "Converted Document";
            // Load source images or existing PDF
            input.LoadImage(@"page1.png");
            input.LoadImage(@"page2.png");
            OcrResult result = ocr.Read(input);
            // Save as searchable PDF with embedded text layer
            result.SaveAsSearchablePdf(@"searchable-output.pdf");
            Console.WriteLine("Searchable PDF created successfully.");
            Console.WriteLine($"Total pages processed: {result.Pages.Count}");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie d'un document PDF consultable

OCR en C# Tutoriel CodeProject : Extraire du texte à partir d'images avec IronOcr : Image 3 - PDF consultable créé à partir d'images d'entrée

La méthode SaveAsSearchablePdf génère un fichier PDF qui préserve l'apparence de l'image originale tout en intégrant une couche de texte invisible. Cette approche préserve la fidélité du document en veillant à ce que le résultat visuel corresponde exactement à la source, tout en permettant la recherche en texte intégral. Les applications Microsoft Office, Adobe Reader et autres visionneurs de PDF peuvent ensuite rechercher et indexer le texte reconnu.

Pour les applications nécessitant une sortie HTML, IronOcr fournit également la méthode SaveAsHocrFile, qui exporte les résultats au format hOCR. Cette norme basée sur XML inclut des données de positionnement par mot, ce qui permet d'utiliser des visionneuses de documents basées sur le web et des flux de travail d'analyse de texte avancés.

Conclusion

La mise en œuvre de la reconnaissance optique de caractères dans les projets C# devient simple avec IronOCR. La bibliothèque gère le traitement d'images complexes, prend en charge plusieurs formats d'images et langues, et offre des options de sortie flexibles, y compris la génération de PDF avec possibilité de recherche. De la simple extraction de texte au traitement de documents TIFF multipages, les exemples de ce didacticiel démontrent les flux de travail de base dont les développeurs ont besoin.

La documentation IronOCR fournit des exemples de code supplémentaires pour les filtres d'image avancés, lecture de codes-barres, et traitement OCR spécifique à une région. La référence API détaille toutes les classes et méthodes disponibles pour construire des solutions complètes de traitement de documents.

Commencez avec IronOCR maintenant.
green arrow pointer

Prêt à mettre en œuvre l'OCR dans votre prochain projet ? Acheter une licence permettant de déployer IronOcr dans des environnements de production avec une assistance et des mises à jour complètes.

Questions Fréquemment Posées

Qu'est-ce que l'OCR et quels sont ses avantages pour les développeurs C# ?

L'OCR, ou reconnaissance optique de caractères, est une technologie qui convertit différents types de documents, tels que des documents papier scannés, des PDF ou des images capturées par un appareil photo numérique, en données modifiables et consultables. Pour les développeurs C#, l'OCR simplifie le traitement des documents en permettant aux applications d'extraire du texte à partir d'images et de documents numérisés, améliorant ainsi l'accessibilité et la convivialité des données.

Comment puis-je mettre en œuvre l'OCR dans un projet C# ?

Vous pouvez mettre en œuvre l'OCR dans un projet C# en utilisant la bibliothèque IronOCR. Cette bibliothèque fournit une interface facile à utiliser pour extraire du texte à partir d'images et de documents scannés dans des applications .NET, ce qui facilite l'intégration de la fonctionnalité OCR dans votre projet.

Quels formats d'image sont supportés par IronOCR ?

IronOcr prend en charge un large éventail de formats d'image, notamment JPEG, PNG, BMP, GIF et TIFF. Cette flexibilité vous permet de travailler avec différents types de fichiers images pour extraire du texte de manière efficace.

IronOCR peut-il gérer des fichiers TIFF multipages ?

Oui, IronOCR peut traiter des fichiers TIFF multipages. Il permet de traiter et d'extraire le texte de chaque page d'un fichier TIFF multipage, ce qui en fait une solution idéale pour traiter des documents complexes.

Est-il possible d'extraire du texte d'une zone spécifique d'une image à l'aide d'IronOCR ?

Oui, IronOCR vous permet de spécifier une zone particulière d'une image à partir de laquelle extraire du texte. Cette fonctionnalité est utile lorsque vous devez vous concentrer sur une section spécifique d'un document, comme un formulaire ou un tableau.

IronOCR prend-il en charge différentes langues pour l'extraction de texte ?

IronOcr prend en charge l'extraction de texte dans plusieurs langues, ce qui vous permet de travailler avec des documents dans différentes langues de manière transparente. Cette fonctionnalité accroît la polyvalence de vos applications et permet de répondre aux besoins d'un public international.

Quels sont les avantages de l'utilisation d'IronOCR par rapport à d'autres bibliothèques d'OCR ?

IronOcr offre plusieurs avantages, notamment la facilité d'utilisation, la fiabilité de la reconnaissance de texte, la prise en charge de plusieurs langues et la compatibilité avec divers formats d'image. Ses puissantes fonctionnalités et ses performances en font un choix privilégié pour les développeurs cherchant à mettre en œuvre l'OCR dans leurs projets C#.

Comment IronOCR améliore-t-il la précision de la reconnaissance de texte ?

IronOCR améliore la précision de la reconnaissance de texte grâce à des algorithmes avancés et des techniques d'apprentissage automatique. Il peut traiter des documents difficiles avec des polices, des tailles et des mises en page différentes, ce qui garantit une grande précision dans l'extraction du texte.

Est-il possible d'intégrer IronOCR for .NET dans des applications .NET existantes ?

Oui, IronOCR for .NET peut être facilement intégré dans des applications .NET existantes. Son API simple permet aux développeurs d'ajouter des capacités d'OCR à leurs applications avec un minimum d'effort, en améliorant leur fonctionnalité sans modifications importantes.

Quels sont les cas d'utilisation courants d'IronOCR dans les applications C# ?

IronOCR peut être utilisé dans diverses applications C#, notamment les systèmes de gestion de documents, l'automatisation de la saisie de données, l'archivage, l'extraction de texte à partir de factures et de reçus, ainsi que les outils d'accessibilité pour les malvoyants. Sa polyvalence lui permet de s'adapter à un large éventail d'industries et d'applications.

Kannaopat Udonpant
Ingénieur logiciel
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Pendant qu'il poursuivait son diplôme, Kannapat est également devenu membre du laboratoire de robotique de véhicules, qui fait partie du département de bioproduction. En 2022, il a utilisé ses compé...
Lire la suite