Passer au contenu du pied de page
UTILISATION D'IRONOCR

API de numérisation de reçus (Tutoriel pour développeurs)

Une API de numérisation des reçus extrait les données clés des reçus à l'aide de la technologie avancée de l'OCR. Elle rationalise le processus de saisie de données en éliminant les erreurs manuelles et en améliorant la productivité. L'API, polyvalente et précise, prend en charge plusieurs langues, devises et formats. En automatisant l'analyse des reçus, les entreprises peuvent obtenir des informations sur les habitudes de dépense et prendre des décisions basées sur les données. Cet article montrera comment utiliser la bibliothèque OCR C#, IronOCR, pour extraire des informations importantes d'un reçu.

IronOCR

IronOCR est une bibliothèque OCR polyvalente et une API développées par Iron Software, offrant aux développeurs une solution puissante pour extraire du texte de diverses sources telles que des documents numérisés, des images et des PDF. Avec ses algorithmes d'OCR avancés, sa vision par ordinateur et ses modèles d'apprentissage machine, IronOCR garantit une grande précision et fiabilité, même dans des scénarios difficiles. La bibliothèque prend en charge plusieurs langues et styles de police, la rendant adaptée aux applications mondiales. En intégrant IronOCR avec des capacités de modèles d'apprentissage machine dans leurs applications, les développeurs peuvent facilement automatiser la saisie de données, l'analyse de texte et d'autres tâches, améliorant ainsi la productivité et l'efficacité.

Avec IronOCR, les développeurs peuvent récupérer facilement du texte à partir de diverses sources, y compris des documents, des photographies, des captures d'écran, et même des flux de caméras en direct sous forme de réponses JSON. En utilisant des algorithmes sophistiqués et des modèles d'apprentissage machine, IronOCR analyse les données des images, reconnaît les caractères individuels et les convertit en texte lisible par machine. Ce texte extrait peut ensuite être utilisé à diverses fins, telles que la saisie de données, la récupération d'informations, l'analyse de texte et l'automatisation de tâches manuelles.

Prérequis

Avant de pouvoir commencer à utiliser IronOCR, quelques prérequis doivent être remplis. Ces prérequis incluent :

  1. Assurez-vous de disposer d'un environnement de développement approprié configuré sur votre ordinateur. Cela implique généralement d'avoir un environnement de développement intégré (IDE) tel que Visual Studio installé.
  2. Il est important d'avoir une compréhension de base du langage de programmation C#. Cela vous permettra de comprendre et de modifier efficacement les exemples de code fournis dans l'article.
  3. Vous devrez avoir la bibliothèque IronOCR installée dans votre projet. Cela peut être réalisé en utilisant le gestionnaire de packages NuGet dans Visual Studio ou via l'interface de ligne de commande.

En vous assurant que ces conditions préalables sont remplies, vous serez prêt à vous lancer dans le processus de travail avec IronOCR.

Créer un nouveau projet Visual Studio

Pour commencer à utiliser IronOCR, la première étape consiste à créer un nouveau projet Visual Studio.

Ouvrez Visual Studio, allez dans Fichiers, puis survolez Nouveau et cliquez sur Projet.

! API de numérisation des reçus (Tutoriel pour développeur), Figure 1 : Nouvelle image de projet Nouvelle image de projet

Dans la nouvelle fenêtre, sélectionnez Application console et cliquez sur Suivant.

! API de numérisation des reçus (Tutoriel pour développeur), Figure 2 : Application console Application Console

Une nouvelle fenêtre apparaîtra. Écrivez le nom de votre nouveau projet, et sa localisation, et cliquez sur Suivant.

! API de numérisation des reçus (Tutoriel pour développeur), Figure 3 : Configuration du projet Configuration du Projet

Enfin, fournissez le Framework cible et cliquez sur Créer.

! API de numérisation des reçus (Tutoriel pour développeur), Figure 4 : Framework cible Framework Cible

Maintenant que votre nouveau projet Visual Studio est créé, installons IronOCR.

Installation de IronOCR

Il existe plusieurs méthodes pour télécharger et installer la bibliothèque IronOCR. Cependant, voici les deux approches les plus simples.

  1. Utilisation du gestionnaire de packages NuGet de Visual Studio
  2. Utilisation de la ligne de commande de Visual Studio

Utilisation du Gestionnaire de Paquets NuGet de Visual Studio

IronOCR peut être inclus dans un projet C# en utilisant le gestionnaire de packages NuGet de Visual Studio.

Accédez à l'interface utilisateur graphique du Gestionnaire de packages NuGet en sélectionnant Outils > Gestionnaire de packages NuGet > Gérer les packages NuGet pour la solution

! API de numérisation des reçus (Tutoriel pour développeur), Figure 5 : Gestionnaire de Paquets NuGet Gestionnaire de paquets NuGet

Une nouvelle fenêtre s'ouvrira ensuite. Recherchez IronOCR et installez le package dans le projet.

! API de numérisation des reçus (Tutoriel pour développeur), Figure 6 : IronOCR IronOCR

Des modules linguistiques supplémentaires pour IronOCR peuvent également être installés en utilisant la même méthode décrite ci-dessus.

Utilisation de la ligne de commande de Visual Studio

  1. Dans Visual Studio, accédez à Outils > Gestionnaire de packages NuGet > Console du gestionnaire de packages
  2. Entrez la ligne suivante dans l'onglet de la Console du Gestionnaire de Paquets :

    Install-Package IronOcr

    ! API de numérisation des reçus (Tutoriel pour développeur), Figure 7 : Console du Gestionnaire de Paquets Console du Gestionnaire de Paquets

Le paquet sera maintenant téléchargé/installé dans le projet actuel et prêt à être utilisé.

Extraction de données à l'aide de l'API OCR des reçus

Extraire des données à partir d'images de reçus en utilisant IronOCR et les enregistrer sous forme de données structurées est un véritable atout pour la plupart des développeurs. Avec IronOCR, vous pouvez y parvenir avec seulement quelques lignes de code. À l'aide de cela, vous pouvez extraire des lignes d'articles, des tarifs, le montant des taxes, le montant total, et bien plus encore avec différents types de documents.

using IronOcr;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

class ReceiptScanner
{
    static void Main()
    {
        var ocr = new IronTesseract();
        // Load the image of the receipt
        using (var input = new OcrInput(@"r2.png"))
        {
            // Perform OCR on the input image
            var result = ocr.Read(input);

            // Regular expression patterns to extract relevant details from the OCR result
            var descriptionPattern = @"\w+\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)";
            var pricePattern = @"\$\d+(\.\d{2})?";

            // Variables to store extracted data
            var descriptions = new List<string>();
            var unitPrices = new List<decimal>();
            var taxes = new List<decimal>();
            var amounts = new List<decimal>();

            var lines = result.Text.Split('\n');
            foreach (var line in lines)
            {
                // Match each line against the description pattern
                var descriptionMatch = Regex.Match(line, descriptionPattern);
                if (descriptionMatch.Success)
                {
                    descriptions.Add(descriptionMatch.Groups[1].Value.Trim());
                    unitPrices.Add(decimal.Parse(descriptionMatch.Groups[2].Value));

                    // Calculate tax and total amount for each item
                    var tax = unitPrices[unitPrices.Count - 1] * 0.15m;
                    taxes.Add(tax);
                    amounts.Add(unitPrices[unitPrices.Count - 1] + tax);
                }
            }

            // Output the extracted data
            for (int i = 0; i < descriptions.Count; i++)
            {
                Console.WriteLine($"Description: {descriptions[i]}");
                Console.WriteLine($"Quantity: 1.00 Units");
                Console.WriteLine($"Unit Price: ${unitPrices[i]:0.00}");
                Console.WriteLine($"Taxes: ${taxes[i]:0.00}");
                Console.WriteLine($"Amount: ${amounts[i]:0.00}");
                Console.WriteLine("-----------------------");
            }
        }
    }
}
using IronOcr;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;

class ReceiptScanner
{
    static void Main()
    {
        var ocr = new IronTesseract();
        // Load the image of the receipt
        using (var input = new OcrInput(@"r2.png"))
        {
            // Perform OCR on the input image
            var result = ocr.Read(input);

            // Regular expression patterns to extract relevant details from the OCR result
            var descriptionPattern = @"\w+\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)";
            var pricePattern = @"\$\d+(\.\d{2})?";

            // Variables to store extracted data
            var descriptions = new List<string>();
            var unitPrices = new List<decimal>();
            var taxes = new List<decimal>();
            var amounts = new List<decimal>();

            var lines = result.Text.Split('\n');
            foreach (var line in lines)
            {
                // Match each line against the description pattern
                var descriptionMatch = Regex.Match(line, descriptionPattern);
                if (descriptionMatch.Success)
                {
                    descriptions.Add(descriptionMatch.Groups[1].Value.Trim());
                    unitPrices.Add(decimal.Parse(descriptionMatch.Groups[2].Value));

                    // Calculate tax and total amount for each item
                    var tax = unitPrices[unitPrices.Count - 1] * 0.15m;
                    taxes.Add(tax);
                    amounts.Add(unitPrices[unitPrices.Count - 1] + tax);
                }
            }

            // Output the extracted data
            for (int i = 0; i < descriptions.Count; i++)
            {
                Console.WriteLine($"Description: {descriptions[i]}");
                Console.WriteLine($"Quantity: 1.00 Units");
                Console.WriteLine($"Unit Price: ${unitPrices[i]:0.00}");
                Console.WriteLine($"Taxes: ${taxes[i]:0.00}");
                Console.WriteLine($"Amount: ${amounts[i]:0.00}");
                Console.WriteLine("-----------------------");
            }
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System
Imports System.Collections.Generic
Imports System.Text.RegularExpressions

Friend Class ReceiptScanner
	Shared Sub Main()
		Dim ocr = New IronTesseract()
		' Load the image of the receipt
		Using input = New OcrInput("r2.png")
			' Perform OCR on the input image
			Dim result = ocr.Read(input)

			' Regular expression patterns to extract relevant details from the OCR result
			Dim descriptionPattern = "\w+\s+(.*?)\s+(\d+\.\d+)\s+Units\s+(\d+\.\d+)\s+Tax15%\s+\$(\d+\.\d+)"
			Dim pricePattern = "\$\d+(\.\d{2})?"

			' Variables to store extracted data
			Dim descriptions = New List(Of String)()
			Dim unitPrices = New List(Of Decimal)()
			Dim taxes = New List(Of Decimal)()
			Dim amounts = New List(Of Decimal)()

			Dim lines = result.Text.Split(ControlChars.Lf)
			For Each line In lines
				' Match each line against the description pattern
				Dim descriptionMatch = Regex.Match(line, descriptionPattern)
				If descriptionMatch.Success Then
					descriptions.Add(descriptionMatch.Groups(1).Value.Trim())
					unitPrices.Add(Decimal.Parse(descriptionMatch.Groups(2).Value))

					' Calculate tax and total amount for each item
					Dim tax = unitPrices(unitPrices.Count - 1) * 0.15D
					taxes.Add(tax)
					amounts.Add(unitPrices(unitPrices.Count - 1) + tax)
				End If
			Next line

			' Output the extracted data
			For i As Integer = 0 To descriptions.Count - 1
				Console.WriteLine($"Description: {descriptions(i)}")
				Console.WriteLine($"Quantity: 1.00 Units")
				Console.WriteLine($"Unit Price: ${unitPrices(i):0.00}")
				Console.WriteLine($"Taxes: ${taxes(i):0.00}")
				Console.WriteLine($"Amount: ${amounts(i):0.00}")
				Console.WriteLine("-----------------------")
			Next i
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Comme vous pouvez le voir ci-dessous, IronOCR peut facilement extraire le texte requis du reçu.

! API de numérisation des reçus (Tutoriel pour développeur), Figure 8 : Résultat Output

Extraire l'ensemble du reçu

Si vous souhaitez extraire l'ensemble du reçu, vous pouvez facilement le faire avec quelques lignes de code sur l'OCR du reçu.

using IronOcr;
using System;

class WholeReceiptExtractor
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput(@"r3.png"))
        {
            // Perform OCR on the entire receipt and print text output to console
            var result = ocr.Read(input);
            Console.WriteLine(result.Text);
        }
    }
}
using IronOcr;
using System;

class WholeReceiptExtractor
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput(@"r3.png"))
        {
            // Perform OCR on the entire receipt and print text output to console
            var result = ocr.Read(input);
            Console.WriteLine(result.Text);
        }
    }
}
Imports IronOcr
Imports System

Friend Class WholeReceiptExtractor
	Shared Sub Main()
		Dim ocr = New IronTesseract()
		Using input = New OcrInput("r3.png")
			' Perform OCR on the entire receipt and print text output to console
			Dim result = ocr.Read(input)
			Console.WriteLine(result.Text)
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

! API de numérisation des reçus (Tutoriel pour développeur), Figure 9 : Résultat de l'API de numérisation des reçus Résultat de l'API de numérisation des reçus

L'API de numérisation d'image de reçus, telle que IronOCR, offre une solution logicielle puissante pour automatiser l'extraction de données à partir de reçus. En tirant parti de la technologie OCR avancée, les entreprises peuvent facilement extraire des informations importantes à partir d'images ou de scans de reçus, y compris les noms des fournisseurs, les dates d'achat, les listes détaillées, les prix, les taxes et les montants totaux. Avec la prise en charge de plusieurs langues, de devises, de formats de reçus, et le support des codes-barres, les entreprises peuvent rationaliser leurs processus de gestion des reçus, gagner du temps, obtenir des informations sur les habitudes de dépense, et prendre des décisions basées sur les données. IronOCR, en tant que bibliothèque OCR et API polyvalente, fournit aux développeurs les outils nécessaires pour extraire du texte à partir de diverses sources avec précision et efficacité, permettant l'automatisation des tâches et améliorant l'efficacité globale. En satisfaisant les prérequis nécessaires et en intégrant IronOCR dans leurs applications, les développeurs peuvent débloquer les avantages du traitement des données des reçus et améliorer leurs flux de travail.

Pour plus d'informations sur IronOCR, visitez cette page de licence. Pour savoir comment utiliser la vision par ordinateur pour trouver du texte, visitez cette page didactique sur la vision par ordinateur. Pour plus de tutoriels sur l'OCR des reçus, visitez le tutoriel OCR C# suivant.

Questions Fréquemment Posées

Comment puis-je automatiser l'extraction de données de reçus en utilisant l'OCR en C# ?

Vous pouvez automatiser l'extraction de données de reçus en C# en utilisant IronOCR, qui vous permet d'extraire des détails clés comme les articles, les prix, les taxes, et les montants totaux à partir d'images de reçus avec une haute précision.

Quels sont les prérequis pour configurer un projet de numérisation de reçus en C# ?

Pour configurer un projet de numérisation de reçus en C#, vous avez besoin de Visual Studio, de connaissances de base en programmation C#, et de la bibliothèque IronOCR installée dans votre projet.

Comment puis-je installer la bibliothèque OCR en utilisant le gestionnaire de packages NuGet dans Visual Studio ?

Ouvrez Visual Studio et allez dans Outils > Gestionnaire de packages NuGet > Gérer les packages NuGet pour la solution, recherchez IronOCR et installez-le dans votre projet.

Puis-je installer la bibliothèque OCR en utilisant la ligne de commande de Visual Studio ?

Oui, vous pouvez installer IronOCR en ouvrant la console du gestionnaire de packages dans Visual Studio et en exécutant la commande : Install-Package IronOcr.

Comment puis-je extraire le texte d'un reçu entier en utilisant l'OCR ?

Pour extraire le texte d'un reçu entier, utilisez IronOCR pour effectuer une OCR sur l'image complète du reçu, puis affichez le texte extrait à l'aide du code en C#.

Quels avantages une API de numérisation de reçus fournit-elle ?

Une API de numérisation de reçus comme IronOCR automatise l'extraction de données, minimise les erreurs manuelles, améliore la productivité et fournit des informations sur les habitudes de dépense pour de meilleures décisions commerciales.

La bibliothèque OCR prend-elle en charge plusieurs langues et devises ?

Oui, IronOCR prend en charge plusieurs langues, devises et formats de reçus, ce qui le rend idéal pour des applications globales.

Quelle est la précision de la bibliothèque OCR dans l'extraction de texte à partir d'images ?

IronOCR assure une haute précision en utilisant des algorithmes OCR avancés, la vision par ordinateur, et des modèles d'apprentissage automatique, même dans des scénarios complexes.

Quels types de données peuvent être extraits des reçus en utilisant l'OCR ?

IronOCR peut extraire des données telles que les articles, les prix, les montants de taxes, les montants totaux et d'autres détails de reçu.

Comment l'automatisation de l'analyse des reçus peut-elle améliorer les processus commerciaux ?

L'automatisation de l'analyse des reçus avec IronOCR améliore les processus commerciaux en réduisant l'entrée manuelle, permettant une collecte de données précise et facilitant la prise de décisions basées sur les données.

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