Passer au contenu du pied de page
UTILISATION D'IRONOCR

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

This tutorial is designed to help beginners create an OCR Receipt Scanner using the IronOCR, an OCR API in 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 modifiables et consultables à l'aide de l'API OCR pour les 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. C'est parti !

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

  1. Créez un projet C# Console dans Visual Studio.
  2. Installez la bibliothèque OCR à l'aide du gestionnaire de paquets NuGet.
  3. Chargez le reçu dans le programme à l'aide de la méthode OcrInput.
  4. Extrayez le texte à l'aide de la méthode Read.
  5. Affichez le texte extrait sur la console.

Prérequis

Avant de nous plonger dans la partie codage, assurez-vous d'avoir les éléments suivants :

  1. Visual Studio : il s'agira de notre environnement de développement intégré (IDE), dans lequel 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#.
  3. Exemple de reçu : Un fichier image de reçu nommé Sample_Receipt.jpg, que nous utiliserons pour tester notre mise 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électionner le type de projet : dans la fenêtre "Créer un nouveau projet", vous verrez une variété de modèles de projet. Dans la zone de recherche, tapez "Console App" pour filtrer les options, puis sélectionnez Console App (.NET Core) ou Console App (.NET Framework), en fonction de vos préférences et de votre compatibilité. Cliquez ensuite sur le bouton Suivant.

Configurer votre nouveau projet : Vous verrez maintenant un écran intitulé "Configurer votre nouveau projet".

  • Dans le champ Nom du projet, saisissez OCRReceiptScanner comme nom de votre projet.
  • Choisissez ou confirmez l'emplacement où votre projet sera sauvegardé dans le champ d'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 vous sera peut-être demandé de sélectionner le .NET Framework cible. Choisissez la version la plus récente (sauf si vous avez des exigences de compatibilité spécifiques) et cliquez sur Créer.

Étape 2 : Intégration d'IronOCR

Avant de pouvoir utiliser la bibliothèque IronOCR, nous devons l'inclure dans notre projet. Suivez les étapes suivantes :

  1. Cliquez avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions.
  2. Choisissez "Gérer les paquets NuGet".
  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 Browse.
  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 package de la bibliothèque IronOCR. Elle devrait être l'un des premiers résultats que vous verrez. Cliquez dessus pour la sélectionner.
  6. Après avoir sélectionné le package IronOcr, vous remarquerez un panneau sur le côté droit affichant les informations du package, notamment 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 modifications 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 procéder :

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
$vbLabelText   $csharpLabel

Paramètres de configuration : si vous disposez de paramètres de configuration tels qu'une clé API ou une clé de licence, veillez à 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
$vbLabelText   $csharpLabel

Etape 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"
$vbLabelText   $csharpLabel

Try-Catch Block : mettez en œuvre la gestion des erreurs à l'aide d'un bloc try-catch. Cela vous aidera à gérer toutes les exceptions qui surviennent au cours du processus d'OCR.

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
$vbLabelText   $csharpLabel

Etape 5 : Mise en œuvre de l'OCR

À l'étape 5, nous nous penchons sur la fonctionnalité principale de notre application : la mise en œuvre de l'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()
$vbLabelText   $csharpLabel

En créant une instance d'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.

Configurer 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
$vbLabelText   $csharpLabel

Dans ce segment, OcrInput est utilisé pour spécifier le fichier que nous voulons traiter. pdfFilePath est une variable qui contient le chemin d'accès à notre fichier de réception. En transmettant cette variable à OcrInput, nous disons au moteur d'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 handles de fichiers) sont correctement libérées une fois le traitement terminé. Il s'agit d'un moyen de gérer efficacement les ressources et de s'assurer que votre application fonctionne sans utiliser inutilement de la mémoire.

Exécuter l'OCR

Dans le bloc utiliser, nous appelons la méthode Lire sur notre instance ocr :

var result = ocr.Read(input);
var result = ocr.Read(input);
Dim result = ocr.Read(input)
$vbLabelText   $csharpLabel

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 effectuera l'OCR du fichier d'entrée donné, extraira les données et les stockera dans une variable result. Nous pouvons utiliser le texte extrait de cette méthode pour effectuer n'importe quelle opération de texte.

Sortir les résultats

Enfin, nous produisons le texte reconnu par le processus d'OCR :

Console.WriteLine(result.Text);
Console.WriteLine(result.Text);
Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

La variable result contient le résultat du processus d'OCR et result.Text contient le texte réel 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 System;

class Program
{
    static void Main(string[] args)
    {
        // Set your IronOCR license key
        License.LicenseKey = "Your-License-Key";

        // Define the path to the receipt image
        string pdfFilePath = "Sample_Receipt.jpg";

        try
        {
            // Initialize the OCR engine
            var ocr = new IronTesseract();

            // Define the input file
            using (var input = new OcrInput(pdfFilePath))
            {
                // Perform OCR and get the result
                var result = ocr.Read(input);

                // Display the extracted text
                Console.WriteLine(result.Text);
            }
        }
        catch (Exception ex)
        {
            // Handle exceptions and log them if necessary
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Set your IronOCR license key
        License.LicenseKey = "Your-License-Key";

        // Define the path to the receipt image
        string pdfFilePath = "Sample_Receipt.jpg";

        try
        {
            // Initialize the OCR engine
            var ocr = new IronTesseract();

            // Define the input file
            using (var input = new OcrInput(pdfFilePath))
            {
                // Perform OCR and get the result
                var result = ocr.Read(input);

                // Display the extracted text
                Console.WriteLine(result.Text);
            }
        }
        catch (Exception ex)
        {
            // Handle exceptions and log them if necessary
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Set your IronOCR license key
		License.LicenseKey = "Your-License-Key"

		' Define the path to the receipt image
		Dim pdfFilePath As String = "Sample_Receipt.jpg"

		Try
			' Initialize the OCR engine
			Dim ocr = New IronTesseract()

			' Define the input file
			Using input = New OcrInput(pdfFilePath)
				' Perform OCR and get the result
				Dim result = ocr.Read(input)

				' Display the extracted text
				Console.WriteLine(result.Text)
			End Using
		Catch ex As Exception
			' Handle exceptions and log them if necessary
			Console.WriteLine($"An error occurred: {ex.Message}")
		End Try
	End Sub
End Class
$vbLabelText   $csharpLabel

Etape 6 : Exécution de votre application

  1. Construire le projet : Cliquez sur le menu "Build", puis sélectionnez "Build Solution".
  2. Exécuter le projet : Appuyez sur F5 ou cliquez sur le bouton "Démarrer" pour exécuter 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 numérisons les reçus à l'aide d'IronOcr. Il s'agit d'un exemple simple d'utilisation des capacités OCR pour extraire des données de reçus papier. Il s'agit d'une implémentation très générique. Vous pouvez modifier votre code pour qu'il corresponde à la mise en page de vos images de reçus.

Comment créer un scanner de reçus OCR en C# : Figure 3 - Texte de sortie 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 d'une manière plus organisée. Nous pouvons réaliser une application logicielle de numérisation de reçus par reconnaissance optique de caractères à l'aide de l'IronOCR. Cela nous aidera à extraire des données précises des champs de réception.

Conclusion

Nous vous remercions de votre attention Vous avez réussi à créer un scanner de reçus OCR à l'aide de C# et d'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'en extraire les données manuellement.

IronOCR propose une essai gratuit, permettant aux utilisateurs d'explorer et d'évaluer ses capacités sans coût initial. Pour ceux qui cherchent à intégrer et à exploiter l'ensemble des fonctionnalités dans un cadre professionnel, les licences commencent à $799, fournissant une solution complète pour les besoins robustes 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 !

Questions Fréquemment Posées

Qu'est-ce qu'un scanner de reçus OCR et comment peut-il bénéficier aux entreprises?

Un scanner de reçus OCR est un outil qui utilise la technologie de reconnaissance optique de caractères pour convertir des images de reçus en données éditables et consultables. Cela peut grandement améliorer les processus d'entreprise en automatisant les tâches de saisie de données, notamment dans des domaines comme la gestion des dépenses.

Comment puis-je créer un scanner de reçus OCR en C#?

Pour créer un scanner de reçus OCR en C#, vous pouvez utiliser la bibliothèque IronOCR. Commencez par configurer un projet Console C# dans Visual Studio, installez IronOCR via le gestionnaire de packages NuGet, et suivez le tutoriel pour implémenter la fonctionnalité OCR sur des fichiers de reçus.

Quelles sont les conditions préalables pour configurer un scanner de reçus OCR en C#?

Les prérequis incluent d’avoir Visual Studio installé, la bibliothèque IronOCR, et un fichier image de reçu pour tester le processus OCR.

Comment puis-je installer la bibliothèque IronOCR dans mon projet C#?

Vous pouvez installer la bibliothèque IronOCR en utilisant le gestionnaire de packages NuGet dans Visual Studio. Recherchez IronOCR et ajoutez-le à votre projet pour accéder à ses fonctionnalités OCR.

Comment fonctionne la classe IronTesseract dans l'OCR ?

La classe IronTesseract est utilisée pour initialiser le moteur OCR au sein de la bibliothèque IronOCR, vous permettant d'effectuer des tâches de reconnaissance de texte sur des images de reçus.

Comment puis-je gérer les erreurs lors du processus OCR en C#?

Les erreurs lors du processus OCR peuvent être gérées à l’aide d’un bloc try-catch dans votre code C#. Cela aidera à gérer les exceptions et à garantir que l’application fonctionne sans problème même en cas de problèmes.

Comment puis-je améliorer les fonctionnalités de mon scanner de reçus OCR?

Vous pouvez étendre l'application en prenant en charge divers types de fichiers, en améliorant la confidentialité des données ou en intégrant des fonctionnalités supplémentaires comme la reconnaissance spécifique à un champ pour les reçus afin d'améliorer la précision de l'extraction des données.

Quelles sont les meilleures pratiques pour intégrer la technologie OCR dans les applications C#?

Les meilleures pratiques incluent l'utilisation d'une bibliothèque fiable comme IronOCR, la gestion des erreurs avec des blocs try-catch, et l'optimisation du scanner pour plusieurs formats de reçus afin d'assurer une extraction précise des données.

Comment puis-je convertir une image de reçu en texte avec C#?

Vous pouvez convertir une image de reçu en texte en utilisant la bibliothèque IronOCR en C#. Utilisez la classe OcrInput pour spécifier l'image, puis traitez-la avec la classe IronTesseract pour extraire le texte.

Quelles options de licences sont disponibles pour IronOCR ?

IronOCR offre un essai gratuit pour exploration, avec des options de licence abordables pour une utilisation prolongée dans des environnements professionnels, le rendant accessible pour diverses applications nécessitant la technologie OCR.

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