UTILISATION DE L'IRONOCR

Comment obtenir du texte à partir d'une facture en C# Tutoriel

Mise à jour décembre 18, 2023
Partager:

1. IronOCR, une API de reconnaissance optique de caractères

IronOCR est une bibliothèque OCR qui peut être utilisée pour reconnaître des données textuelles à partir d'images pour l'extraction d'informations, y compris l'OCR de reçus. Il est basé sur le moteur d'OCR Tesseract, qui est considéré comme l'un des moteurs d'OCR les plus précis disponibles à ce jour pour la reconnaissance des reçus. IronOCR peut être utilisé pour lire du texte contenant des informations clés à partir de différents types de documents, notamment PNG, JPG, TIFF, format JSON et PDF, et peut reconnaître du texte dans plusieurs langues.

L'une des principales caractéristiques ou services d'IronOCR qui le rend particulièrement utile pour l'OCR des reçus est sa capacité àdétecter automatiquement l'orientation du textemême si l'image a été tournée ou inclinée. Ceci est essentiel pour une reconnaissance précise du texte sur les reçus et pour l'extraction de données, car les reçus contiennent souvent beaucoup d'informations et peuvent être pliés ou froissés, ce qui entraîne une distorsion du texte.

2. Caractéristiques de l'IronOCR

  • L'OCR C# utilise l'apprentissage profond pour numériser et reconnaître des textes à partir d'images, de documents numérisés et de PDF.
  • .NET OCR prend en charge plus de 127 langues internationales.
  • IronOCR peut lire du texte à partir d'images dans de nombreux formats de fichiers, notamment PNG, JPG, TIFF et PDF.
  • Texte,données structurées, sortie JSON, oupDF consultables peuvent être produites à partir des informations extraites.
  • IronOCR for .NET 5, 6 et 7(Noyau, cadre et norme).
  • IronOCR divise l'entrée en différentes images sur la base des régions de texte. Il utiliseVision par ordinateur pour identifier les zones contenant des éléments de texte.

3. Création d'un nouveau projet dans Visual Studio

Ouvrez le logiciel Visual Studio et allez dans le menu Fichier. Sélectionnez "Nouveau projet", puis sélectionnez "Application console".

Saisissez le nom du projet et sélectionnez le chemin d'accès dans la zone de texte appropriée. Cliquez ensuite sur le bouton Créer. Sélectionnez le Framework .NET requis, comme dans la capture d'écran ci-dessous :

Tutoriel Comment récupérer le texte d'une facture en C#, Figure 1 : Création d'un nouveau projet dans Visual Studio

Création d'un nouveau projet dans Visual Studio

Le projet Visual Studio va maintenant générer la structure de l'application console. Une fois terminé, il ouvrira le fichier Program.cs, dans lequel vous pourrez écrire et exécuter du code source.

Tutoriel Comment obtenir du texte d'une facture en C#, Figure 2 : Le fichier program.cs généré par l'assistant de nouveau projet de Visual Studio

**Le fichier program.cs généré par l'assistant de nouveau projet de Visual Studio

4. Installer IronOCR

Dans Visual Studio, vous pouvez facilement intégrer IronOCR à votre projet C#. IronOCR offre plusieurs possibilités d'intégration à un projet C# .NET. Ici, nous allons discuter de l'une d'entre elles : l'installation d'IronOCR à l'aide du gestionnaire de paquets NuGet.

Dans Visual Studio, allez dans Tools > NuGet Package Manager > Package Manager Console

Tutoriel Comment récupérer le texte d'une facture en C#, Figure 3 : La console du gestionnaire de paquets NuGet de Visual Studio

**La console Visual Studio NuGet Package Manager

Après avoir cliqué, une nouvelle console apparaît en bas de la fenêtre de Visual Studio. Tapez la commande ci-dessous dans la console et appuyez sur Entrée.

Install-Package IronOcr

IronOCR s'installera en quelques secondes.

5. Extraction de données à partir de reçus à l'aide d'IronOCR

IronOCR est une bibliothèque OCR puissante qui peut être utilisée pour extraire et accéder à des données avec des détails à partir de reçus. Avec IronOCR, vous pouvez prendre une photo d'un reçu et la convertir en texte lisible par une machine qui peut être facilement analysé et traité sans compromettre la confidentialité des données.

Voici un exemple d'utilisation d'IronOCR pour extraire du texte d'un reçu et montrer comment fonctionne l'OCR de reçus.

using IronOcr;
using System;

IronTesseract ocrTesseract = new IronTesseract();

using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
    OcrResult ocrResult = ocrTesseract.Read(ocrInput);
    string RecognizedText = ocrResult.Text;

    Console.WriteLine(RecognizedText);
}
using IronOcr;
using System;

IronTesseract ocrTesseract = new IronTesseract();

using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
    OcrResult ocrResult = ocrTesseract.Read(ocrInput);
    string RecognizedText = ocrResult.Text;

    Console.WriteLine(RecognizedText);
}
Imports IronOcr
Imports System

Private ocrTesseract As New IronTesseract()

Using ocrInput As New OcrInput("ocr.png")
	Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)
	Dim RecognizedText As String = ocrResult.Text

	Console.WriteLine(RecognizedText)
End Using
VB   C#

Veuillez vous référer à laTutoriel de lecture de texte à partir d'une image pour plus de détails sur la manière dont IronOCR lit le texte des images en utilisant le langage informatique C#.

Le résultat du code présenté ci-dessus est le suivant :

- LOGO SHOP
- LOREM IPSUM
- DOLOR SITAMET CONSECTETUR
- ADIPISCING ELIT
- 1 LOREM IPSUM $3.20
- 2 ORNARE MALESUADA $9.50
- 3 PORTA FERMENTUM $5.90
- 4 SODALES ARCU $6.00
- 5 ELEIFEND $9.00
- 6 SEMNISIMASSA $0.50
- 7 DUIS FAMES DIS $7.60
- 8 FACILISIRISUS $810
- TOTAL AMOUNT $49.80
- CASH $50.00

6. Extraction de données spécifiques à partir d'une image de reçu à l'aide d'IronOCR

En tant que puissante bibliothèque OCR, IronOCR permet aux développeurs d'obtenir des informations importantes à partir de reçus scannés, notamment le montant de la taxe et le nom du commerçant.

Voici un exemple d'utilisation d'IronOCR pour extraire la valeur du montant total d'une image de reçu :

using IronOcr;
using System;

IronTesseract ocrTesseract = new IronTesseract();

ocrTesseract.Language = OcrLanguage.English;

// Code line to load the receipt image
using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
    // Optimize the input image for OCR
    ocrInput.DeNoise(true);
    ocrInput.Contrast();
    ocrInput.EnhanceResolution();
    ocrInput.ToGrayScale();

    OcrResult ocrResult = ocrTesseract.Read(ocrInput);

    // Search for the total price in the OCR result
    var totalPrice = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
    Console.WriteLine("Total Price: " + totalPrice);
}
using IronOcr;
using System;

IronTesseract ocrTesseract = new IronTesseract();

ocrTesseract.Language = OcrLanguage.English;

// Code line to load the receipt image
using (OcrInput ocrInput = new OcrInput("ocr.png"))
{
    // Optimize the input image for OCR
    ocrInput.DeNoise(true);
    ocrInput.Contrast();
    ocrInput.EnhanceResolution();
    ocrInput.ToGrayScale();

    OcrResult ocrResult = ocrTesseract.Read(ocrInput);

    // Search for the total price in the OCR result
    var totalPrice = ocrResult.Text.Contains("Total:") ? ocrResult.Text.Split("Total:")[1].Split("\n")[0] : "";
    Console.WriteLine("Total Price: " + totalPrice);
}
Imports Microsoft.VisualBasic
Imports IronOcr
Imports System

Private ocrTesseract As New IronTesseract()

ocrTesseract.Language = OcrLanguage.English

' Code line to load the receipt image
Using ocrInput As New OcrInput("ocr.png")
	' Optimize the input image for OCR
	ocrInput.DeNoise(True)
	ocrInput.Contrast()
	ocrInput.EnhanceResolution()
	ocrInput.ToGrayScale()

	Dim ocrResult As OcrResult = ocrTesseract.Read(ocrInput)

	' Search for the total price in the OCR result
	Dim totalPrice = If(ocrResult.Text.Contains("Total:"), ocrResult.Text.Split("Total:")(1).Split(vbLf)(0), "")
	Console.WriteLine("Total Price: " & totalPrice)
End Using
VB   C#

Grâce aux multiples réglages fournis par leOcrInput il est possible d'optimiser l'image d'entrée pour une meilleure précision dans le processus d'OCR.

Entrée

How to Get Text From Invoice in C# Tutorial, Figure 4 : L'image d'entrée utilisée pour démontrer l'extraction de données spécifiques à partir de reçus

L'image d'entrée utilisée pour démontrer l'extraction de données spécifiques à partir des reçus

Sortie

- Total 16.5

7. Lire les codes-barres sur les reçus

IronOCR peut être utilisé pour lire les codes-barres sur les reçus ainsi que du texte. Pour lire les codes-barres sur les reçus à l'aide d'IronOCR, vous devez utiliser la fonctionBarcodeReader en combinaison avec la classeReadBarCodes méthode.

Voici un exemple d'utilisation d'IronOCR pour lire des codes-barres sur l'image d'un reçu.

using IronOcr;
using System;

var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using (var ocrInput = new OcrInput("b.png"))
{
    var ocrResult = ocrTesseract.Read(ocrInput);
    foreach (var barcode in ocrResult.Barcodes)
    {
        Console.WriteLine(barcode.Value);
    }
}
using IronOcr;
using System;

var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using (var ocrInput = new OcrInput("b.png"))
{
    var ocrResult = ocrTesseract.Read(ocrInput);
    foreach (var barcode in ocrResult.Barcodes)
    {
        Console.WriteLine(barcode.Value);
    }
}
Imports IronOcr
Imports System

Private ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
Using ocrInput As New OcrInput("b.png")
	Dim ocrResult = ocrTesseract.Read(ocrInput)
	For Each barcode In ocrResult.Barcodes
		Console.WriteLine(barcode.Value)
	Next barcode
End Using
VB   C#

Image d'entrée

How to Get Text From Invoice in C# Tutorial, Figure 4 : Entrée pour la lecture du code à barres

Entrée pour la lecture du code-barres

Texte de sortie

How to Get Text From Invoice in C# Tutorial, Figure 5 : Le résultat du traitement de l'image du code à barres

Le résultat du traitement de l'image du code-barres

8. Conclusion

L'article ci-dessus explique le processus d'installation et d'utilisation d'IronOCR dans un projet C# pour extraire des données de reçus, avec un exemple d'extrait de code fourni.

Veuillez lire le tutoriel surlecture de textes à partir d'images.

IronOCR fait partie de l'initiative de lIron Suitequi comprend cinq bibliothèques .NET différentes pour la manipulation de documents et d'images. Vous pouvezacheter l'ensemble de l'Iron Suite pour le prix de deuxLicences IronOCR.

Essayez IronOCR dans vos applications de production à l'aide de l'optionessai gratuit.

< PRÉCÉDENT
Comment reconnaître une plaque d'immatriculation en C# (Tutoriel)
SUIVANT >
Comment obtenir par OCR du texte à partir d'une capture d'écran en C#