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.
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 :
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.
**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
**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
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
$vbLabelText $csharpLabel
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
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
$vbLabelText $csharpLabel
Image d'entrée
Entrée pour la lecture du code-barres
Texte de sortie
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.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< 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#
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier