UTILISATION DE L'IRONOCR

Comment créer un scanner de reçus OCR en C#

Publié février 18, 2024
Partager:

Ce tutoriel est conçu pour aider les débutants à créer uneScanner de reçusOCR en utilisant leIronOCRune API OCR en C#. À la fin de ce guide, vous saurez comment mettre en œuvre la reconnaissance optique de caractères(OCR) pour convertir différents types de fichiers de reçus en données éditables et consultables à l'aide de l'API OCR des reçus. Cette technologie peut changer la donne pour les entreprises qui cherchent à automatiser la gestion des dépenses et à minimiser la saisie manuelle des données. Commençons!

Comment créer un scanner de reçus OCR en C#1. Créer un projet C# ; Console dans Visual Studio

  1. Installez la bibliothèque OCR à l'aide du gestionnaire de paquets NuGet3. Chargez le reçu dans le programme à l'aide de la méthode OcrInput

  2. Extraire le texte à l'aide de la méthode Read5. Afficher le texte extrait sur la console

Conditions préalables

Avant de nous plonger dans la partie codage, assurez-vous que vous disposez des éléments suivants :

  1. Visual Studio : Il s'agit de notre environnement de développement intégré(L'IDE)où nous écrirons et exécuterons notre code C#.

  2. Bibliothèque IronOCR : Nous utiliserons IronOCR, une bibliothèque OCR avancée qui peut être facilement intégrée dans des applications C#.

    1. Exemple de reçu : Un fichier image de reçu nommé Sample_Receipt.jpg, que nous utiliserons pour tester notre système de paiementMise en œuvre de l'OCR.

    Comment créer un scanner de reçus OCR en C# : Figure 1 - Image d'un exemple de reçu

Étape 1 : Mise en place du projet

Ouvrez Visual Studio : Localisez l'icône Visual Studio sur votre bureau ou dans votre menu d'applications et double-cliquez dessus pour ouvrir le programme.

Créer un nouveau projet : Une fois Visual Studio ouvert, vous trouverez une fenêtre de lancement. Cliquez sur le bouton "Créer un nouveau projet". Si vous avez déjà ouvert Visual Studio et que vous ne voyez pas la fenêtre de lancement, vous pouvez y accéder en cliquant sur Fichier > Nouveau > Projet dans le menu supérieur.

Sélectionnez le type de projet : Dans la fenêtre "Créer un nouveau projet", vous verrez une variété de modèles de projets. Dans la boîte de recherche, tapez "Console App" pour filtrer les options, puis sélectionnez Console App(.NET Core) ou Console App(framework .NET)en fonction de vos préférences et de votre compatibilité. Cliquez ensuite sur le bouton Suivant.

Configurer votre nouveau projet : Un écran intitulé "Configurer votre nouveau projet" s'affiche.

  • Dans le champ Nom du projet, entrez OCRReceiptScanner comme nom de votre projet.
  • Choisissez ou confirmez l'emplacement où votre projet sera enregistré dans le champ de l'emplacement.
  • En option, vous pouvez également spécifier un nom de solution si vous souhaitez qu'il soit différent du nom du projet.
  • Cliquez sur le bouton Suivant après avoir rempli ces informations.

    Informations complémentaires: Il peut vous être demandé de sélectionner le Framework .NET cible. Choisir la version la plus récente(à moins que vous n'ayez des exigences spécifiques en matière de compatibilité) et cliquez sur Créer.

Étape 2 : Intégration de l'IronOCR

Avant de pouvoir utiliser la bibliothèque IronOCR, nous devons l'inclure dans notre projet. Procédez comme suit :

  1. Cliquez avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions.

  2. Choisissez "Manage NuGet Packages".

  3. Dans la fenêtre du gestionnaire de paquets NuGet, vous verrez plusieurs onglets tels que Browse, Installed, Updates, et Consolidate. Cliquez sur l'onglet Naviguer.

  4. Dans la boîte de recherche, tapez IronOcr. Il s'agit du nom de la bibliothèque que nous souhaitons ajouter à notre projet. Appuyez sur la touche "Entrée" pour effectuer une recherche.

  5. Les résultats de la recherche afficheront le paquet de bibliothèques IronOCR. Ce devrait être l'un des premiers résultats que vous verrez. Cliquez dessus pour le sélectionner.

  6. Après avoir sélectionné le paquet IronOCR, vous remarquerez un panneau sur le côté droit affichant des informations sur le paquet, y compris sa description et sa version. Ce panneau comporte également un bouton Installer.

    Comment créer un scanner de reçus OCR en C# : Figure 2 - Installation d'IronOCR via le gestionnaire de paquets NuGet

  7. Cliquez sur le bouton Installer. Cette action peut vous inviter à revoir les changements et peut afficher une liste de dépendances qui seront incluses avec IronOCR. Examinez les modifications et les dépendances, et si tout semble correct, confirmez et procédez à l'installation.

Étape 3 : Configuration du projet

Après avoir installé IronOCR, la prochaine étape consiste à configurer votre projet. Voici comment :

Ajouter des espaces de noms : Au début de votre fichier Program.cs, incluez les espaces de noms suivants :

using IronOcr;
using System;
using IronOcr;
using System;
Imports IronOcr
Imports System
VB   C#

Paramètres de configuration : Si vous avez des paramètres de configuration tels qu'une clé API ou une clé de licence, assurez-vous de les inclure. Pour IronOCR, vous devrez définir la clé de licence comme indiqué dans le code fourni :

License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key"; // replace 'License-Key' with your key
License.LicenseKey = "License-Key" ' replace 'License-Key' with your key
VB   C#

Étape 4 : Lecture du reçu

Maintenant, écrivons le code pour lire le reçu.

Définissez le chemin d'accès à votre reçu : Indiquez le chemin d'accès au fichier de reçu que vous souhaitez numériser.

string pdfFilePath = "Sample_Receipt.jpg";
string pdfFilePath = "Sample_Receipt.jpg";
Dim pdfFilePath As String = "Sample_Receipt.jpg"
VB   C#

Bloc try-catch : Mettre en œuvre la gestion des erreurs à l'aide d'un bloc try-catch. Cela vous aidera à gérer les exceptions qui surviennent au cours du processus de ROC.

try
{
    // OCR code will go here
}
catch (Exception ex)
{
    // Handle exceptions here
    Console.WriteLine($"An error occurred: {ex.Message}");
}
try
{
    // OCR code will go here
}
catch (Exception ex)
{
    // Handle exceptions here
    Console.WriteLine($"An error occurred: {ex.Message}");
}
Try
	' OCR code will go here
Catch ex As Exception
	' Handle exceptions here
	Console.WriteLine($"An error occurred: {ex.Message}")
End Try
VB   C#

Étape 5 : Mise en œuvre du RCO

À l'étape 5, nous abordons la fonctionnalité principale de notre application : la mise en œuvre de la reconnaissance optique de caractères (OCR) pour lire et interpréter les données de notre reçu. Il s'agit d'initialiser le moteur d'OCR, de configurer l'entrée, d'effectuer l'opération d'OCR et d'afficher les résultats.

Initialiser IronTesseract

La première partie du code crée une instance de la classe IronTesseract :

var ocr = new IronTesseract();
var ocr = new IronTesseract();
Dim ocr = New IronTesseract()
VB   C#

En créant une instance de IronTesseract, nous configurons essentiellement notre outil d'OCR, en le préparant à effectuer les tâches de reconnaissance de texte. C'est comme démarrer le moteur d'une voiture avant de pouvoir la conduire. Cet objet sera utilisé pour contrôler le processus d'OCR, y compris la lecture de l'entrée et l'extraction du texte.

Configuration de l'entrée OCR

Ensuite, nous définissons les données d'entrée de notre processus d'OCR :

using (var input = new OcrInput(pdfFilePath))
{
    // OCR processing will go here
}
using (var input = new OcrInput(pdfFilePath))
{
    // OCR processing will go here
}
Using input = New OcrInput(pdfFilePath)
	' OCR processing will go here
End Using
VB   C#

Dans ce segment, OcrInput est utilisé pour spécifier le fichier à traiter. pdfFilePath est une variable qui contient le chemin d'accès à notre fichier de reçu. En passant cette variable à OcrInput, nous disons au moteur OCR : "Voici le fichier que je veux que vous lisiez" L'instruction using est une construction C# spéciale qui garantit que les ressources utilisées par OcrInput(comme les poignées de fichiers) sont correctement libérés une fois le traitement effectué. C'est un moyen de gérer efficacement les ressources et de veiller à ce que votre application fonctionne sans utiliser inutilement de la mémoire.

Effectuer l'OCR

Dans le bloc utilisation, nous appelons la méthode Lecture sur notre instance ocr :

var result = ocr.Read(input);
var result = ocr.Read(input);
Dim result = ocr.Read(input)
VB   C#

La méthode Read prend le chemin du fichier d'entrée comme paramètre. Cette ligne lancera la numérisation du reçu. Il effectue l'OCR du fichier d'entrée donné, extrait les données et les stocke dans une variable résultat. Nous pouvons utiliser le texte extrait de cette méthode pour effectuer n'importe quelle opération sur le texte.

Produire les résultats

Enfin, nous produisons le texte qui a été reconnu par le processus d'OCR :

Console.WriteLine(result.Text);
Console.WriteLine(result.Text);
Console.WriteLine(result.Text)
VB   C#

La variable result contient le résultat du processus d'OCR et result.Text contient le texte extrait du reçu. La fonction Console.WriteLine reprend ce texte et l'affiche sur la console. Cela vous permet de voir et de vérifier les résultats du processus d'OCR. Voici le code complet du fichier Program.cs :

using IronOcr;
using Microsoft.Extensions.Configuration;
using System;
class Program
{
    static void Main(string [] args)
    {
        License.LicenseKey = "Your-License-Key";
        string pdfFilePath = "Sample_Receipt.jpg";
        try
        {
            var ocr = new IronTesseract();
            using (var input = new OcrInput(pdfFilePath))
            {
                var result = ocr.Read(input);
                    Console.WriteLine(result.Text);
            }
        }
        catch (Exception ex)
        {
            // Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}
using IronOcr;
using Microsoft.Extensions.Configuration;
using System;
class Program
{
    static void Main(string [] args)
    {
        License.LicenseKey = "Your-License-Key";
        string pdfFilePath = "Sample_Receipt.jpg";
        try
        {
            var ocr = new IronTesseract();
            using (var input = new OcrInput(pdfFilePath))
            {
                var result = ocr.Read(input);
                    Console.WriteLine(result.Text);
            }
        }
        catch (Exception ex)
        {
            // Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}
Imports IronOcr
Imports Microsoft.Extensions.Configuration
Imports System
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		License.LicenseKey = "Your-License-Key"
		Dim pdfFilePath As String = "Sample_Receipt.jpg"
		Try
			Dim ocr = New IronTesseract()
			Using input = New OcrInput(pdfFilePath)
				Dim result = ocr.Read(input)
					Console.WriteLine(result.Text)
			End Using
		Catch ex As Exception
			' Handle exceptions (e.g., file not found, OCR errors) and log them if necessary.
			Console.WriteLine($"An error occurred: {ex.Message}")
		End Try
	End Sub
End Class
VB   C#

Étape 6 : Exécution de l'application

  1. Construire le projet : Cliquez sur le menu "Build" et sélectionnez "Build Solution".

  2. Exécuter le projet : Appuyez sur F5 ou cliquez sur le bouton 'Start' pour lancer votre application.

    Vous voyez maintenant le texte de votre reçu s'afficher dans la console. Ce texte représente les données extraites de l'image de votre reçu. C'est ainsi que nous scannons les reçus avec IronOCR. Il s'agit d'un exemple simple d'utilisation des fonctionnalités OCR pour extraire des données de reçus papier. Il s'agit d'une mise en œuvre très générique. Vous pouvez modifier votre code pour qu'il corresponde à la présentation des images de vos reçus.

    Comment créer un scanner de reçus OCR en C# : Figure 3 - Texte produit à partir de l'exemple de code précédent

    Ensuite, vous pouvez utiliser les données non structurées des reçus que nous avons obtenues après avoir scanné les reçus. Nous pouvons obtenir des informations importantes à partir d'une section particulière du reçu. Nous pouvons également présenter les données relatives aux reçus de manière plus organisée. Nous pouvons créer une application logicielle de numérisation de reçus OCR à l'aide de l'IronOCR. Cela nous aidera à extraire des données précises des champs de réception.

Conclusion

Félicitations! Vous avez réussi à construire un scanner de reçus OCR en utilisant C# et IronOCR. Ce scanner permet d'améliorer considérablement la précision de l'extraction des données pour divers besoins professionnels tels que le suivi des dépenses, la gestion de la chaîne d'approvisionnement, etc. Il ne sera plus nécessaire d'examiner les reçus scannés et d'extraire les données manuellement.

L'IronOCR offre uneessai gratuitles utilisateurs peuvent ainsi explorer et évaluer ses capacités sans frais initiaux. Pour ceux qui souhaitent intégrer et exploiter l'ensemble des fonctionnalités dans un cadre professionnel, les licences commencent à $749, fournissant une solution complète pour les besoins de numérisation de reçus OCR et d'extraction de données.

N'oubliez pas que ce n'est que le début. Vous pouvez étendre cette application pour prendre en charge différents types de fichiers, améliorer la confidentialité des données ou intégrer des fonctionnalités supplémentaires telles que la reconnaissance des reçus pour des champs spécifiques comme le montant de la taxe, la date, les postes, etc. Avec la technologie OCR, les possibilités sont vastes et ouvrent la voie à des processus commerciaux plus efficaces et plus intelligents. Bon codage!

< PRÉCÉDENT
Comment lire des documents d'identité à l'aide de l'OCR en C#
SUIVANT >
Comment créer une solution OCR pour les factures ?