Passer au contenu du pied de page
UTILISATION D'IRONOCR

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

Ce tutoriel est conçu pour aider les débutants à créer un Scanner de Reçus OCR en utilisant IronOCR, une API OCR en C#. À la fin de ce guide, vous comprendrez comment implémenter la reconnaissance optique de caractères (OCR) pour convertir différents types de fichiers de reçus en données éditables et consultables en utilisant l'API OCR pour reçus. Cette technologie peut bouleverser les entreprises cherchant à 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éez un projet Console C# dans Visual Studio.
  2. Installez la bibliothèque OCR en utilisant le gestionnaire de packages NuGet.
  3. Chargez le reçu dans le programme en utilisant la méthode OcrInput.
  4. Extrayez le texte en utilisant la méthode Read.
  5. Affichez le texte extrait sur la console.

Prérequis

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

  1. Visual Studio : Ce sera notre Environnement de Développement Intégré (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 les applications C#.
  3. Exemple de Reçu : Un fichier image de reçu nommé Sample_Receipt.jpg, que nous utiliserons pour tester notre implémentation OCR.

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

Étape 1 : Configuration du projet

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

Créez 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 boîte de recherche, tapez " Application Console " pour filtrer les options, puis sélectionnez Application Console (.NET Core) ou Application Console (.NET Framework), selon votre préférence et votre compatibilité. Ensuite, cliquez sur le bouton Suivant.

Configurez Votre Nouveau Projet : Maintenant, vous verrez un écran intitulé "Configurez votre nouveau projet".

  • 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 d'emplacement.
  • Optionnellement, vous pouvez aussi spécifier un nom de solution si vous voulez qu'il soit différent du nom du projet.
  • Cliquez sur le bouton Suivant après avoir rempli ces détails.

Informations Supplémentaires : Il se peut qu'on vous demande de sélectionner la version cible de .NET Framework. Choisissez la version la plus récente (à moins que vous n'ayez des exigences spécifiques de compatibilité) 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 ces étapes :

  1. Faites un clic droit sur votre projet dans l'Explorateur de Solution.
  2. Choisissez "Gérer les Packages NuGet".
  3. Dans la fenêtre du gestionnaire de packages NuGet, vous verrez plusieurs onglets comme Parcourir, Installé, Mises à jour et Consolider. Cliquez sur l'onglet Parcourir.
  4. Dans la boîte de recherche, tapez IronOcr. C'est le nom de la bibliothèque que nous souhaitons ajouter à notre projet. Appuyez sur entrée pour rechercher.
  5. Les résultats de la recherche afficheront le package de la bibliothèque IronOCR. Il devrait être l'un des premiers résultats que vous voyez. Cliquez dessus pour le 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, y compris sa description et sa version. Il y a aussi un bouton Install dans ce panneau.

Comment Créer un Scanner de Reçus OCR en C#: Figure 2 - Installation d'IronOCR via le gestionnaire de packages NuGet

  1. Cliquez sur le bouton Install. Cette action pourrait vous demander de passer en revue les modifications et pourrait afficher une liste de dépendances qui seront incluses avec IronOcr. Vérifiez 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, votre prochaine étape est de configurer votre projet. Voici comment :

Ajoutez des Espaces de Noms : En haut 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 avez des paramètres de configuration comme une clé d'API ou une clé de licence, assurez-vous de les inclure. Pour IronOCR, vous devrez définir la clé de licence comme montré 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

Étape 4 : Lecture du reçu

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

Définissez le Chemin de Votre Reçu : Spécifiez le chemin d'accès au fichier reçus que vous souhaitez analyser.

string pdfFilePath = "Sample_Receipt.jpg";
string pdfFilePath = "Sample_Receipt.jpg";
Dim pdfFilePath As String = "Sample_Receipt.jpg"
$vbLabelText   $csharpLabel

Bloc Try-Catch : Implémentez une gestion des erreurs en utilisant un bloc try-catch. Cela vous aidera à gérer toute exception qui pourrait survenir pendant le processus 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

Étape 5 : Mise en œuvre de la reconnaissance optique de caractères (OCR)

Dans l'étape 5, nous abordons la fonctionnalité principale de notre application : l'implémentation de l'OCR pour lire et interpréter les données de notre reçu. Cela implique d'initialiser le moteur OCR, de configurer l'entrée, de réaliser l'opération 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 de IronTesseract, nous configurons essentiellement notre outil OCR, 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 OCR, y compris la lecture de l'entrée et l'extraction du texte à partir de celle-ci.

Configurer l'entrée OCR

Ensuite, nous définissons l'entrée de notre processus 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 souhaitons traiter. pdfFilePath est une variable qui contient le chemin d'accès à notre fichier de reçus. 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 spéciale de C# qui garantit que les ressources utilisées par OcrInput (comme les descripteurs de fichier) sont correctement libérées une fois le traitement terminé. C'est un moyen de gérer efficacement les ressources et de garantir que votre application fonctionne sans problème et sans utilisation inutile de mémoire.

Effectuer une OCR

À l'intérieur du bloc using, nous appelons la méthode Read 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 prendra le chemin du fichier en entrée comme paramètre. Cette ligne commencera la numérisation des reçus. Elle 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 par cette méthode pour effectuer n'importe quelle opération de texte.

Afficher les résultats

Enfin, nous affichons le texte qui a été reconnu par le processus OCR :

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

La variable result contient la sortie du processus OCR et result.Text contient le texte réel extrait du reçu. La fonction Console.WriteLine prend ensuite ce texte et l'affiche sur la console. Cela vous permet de voir et de vérifier les résultats du processus 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

Étape 6 : Exécution de votre application

  1. Construisez le Projet : Cliquez sur le menu 'Construire' puis sélectionnez 'Construire la Solution'.
  2. Exécutez le Projet : Appuyez sur F5 ou cliquez sur le bouton 'Démarrer' pour exécuter votre application.

Maintenant, vous voyez le texte de votre reçu s'afficher sur la console. Ce texte représente les données extraites de votre image de reçu. C'est ainsi que nous numérisons les reçus en utilisant IronOCR. Ceci est un exemple simple d'utilisation des capacités d'OCR pour extraire des données à partir de reçus papier. C'est une implémentation très générique. Vous pouvez modifier votre code pour correspondre à la mise en page de vos images de reçus.

Comment Créer un Scanner de Reçus OCR en C#: Figure 3 - Texte ressorti du précédent exemple de code

Après cela, vous pouvez utiliser les données non structurées des reçus que nous avons obtenues après la numérisation des reçus. Nous pouvons obtenir des informations importantes à partir d'une section particulière du reçu. Ou nous pouvons afficher les données du reçu de manière plus organisée. Nous pouvons réaliser un logiciel de numérisation de reçus OCR en utilisant IronOCR. Cela nous aidera à extraire des données de champs de reçus avec précision.

Conclusion

Félicitations ! Vous avez réussi à construire un scanner de reçus OCR en utilisant C# et IronOCR. Ce scanner peut augmenter 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, et plus encore. Il ne sera plus nécessaire de revoir les reçus numérisés et d'extraire les données manuellement.

IronOCR propose un essai gratuit, permettant aux utilisateurs d'explorer et d'évaluer ses capacités sans coût initial. Pour ceux cherchant à intégrer et exploiter l'ensemble des fonctionnalités dans un cadre professionnel, les licences commencent à partir de $799, fournissant une solution complète pour des besoins robustes de numérisation et d'extraction de données par OCR de reçus.

Souvenez-vous, ce n'est que le début. Vous pouvez étendre cette application pour prendre en charge divers types de fichiers, améliorer la confidentialité des données, ou intégrer des fonctionnalités supplémentaires telles que la reconnaissance de champs spécifiques sur les reçus tels que le montant de la taxe, la date, les articles en ligne, et plus encore. Avec la technologie OCR, les possibilités sont vastes, ouvrant la voie à des processus d'affaires plus efficaces et intelligents. Bonne programmation !

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