UTILISATION DE L'IRONOCR

Traitement des factures par OCR en C# (Tutoriel pour développeur)

Publié janvier 14, 2025
Partager:

Introduction

Le traitement des données de facturation fait référence à la réception, la gestion et la validation des factures des fournisseurs ou des vendeurs, en veillant à ce que les paiements soient effectués correctement et à temps. Il implique des étapes conçues pour garantir l'exactitude, la conformité et l'efficacité dans la gestion des transactions commerciales afin d'éviter les factures papier. Le traitement automatisé des factures peut réduire considérablement les erreurs de saisie manuelle de données et améliorer l'efficacité. IronOCR est un puissant logiciel de reconnaissance optique de caractères(OCR)bibliothèque logicielle qui peut être utilisée pour extraire des données ou du texte à partir de factures à partir d'un fichier numérique, ce qui en fait un excellent outil pour automatiser le traitement OCR des factures dans les applications C#.

Comment traiter les données de factures en utilisant un logiciel OCR comme IronOCR

  1. Créez un projet Visual Studio.

  2. Installez la bibliothèque IronOCR C#.

  3. Image d'exemple de facture.

  4. Utilisez Tesseract et extrayez les données de l'image du reçu.

  5. Lire uniquement une région d'une image.

Reconnaissance optique de caractères (OCR)

La reconnaissance optique de caractères est une technologie qui permet de reconnaître et de convertir différents types de documents, de PDF ou d'images de texte en données éditables et consultables. La technologie OCR traite les images de texte et extrait les caractères, les rendant lisibles par machine. Les systèmes avancés de logiciels de reconnaissance optique de caractères (OCR) pour les factures aident dans les outils de gestion financière et l'automatisation des factures.

Points clés sur l'OCR

  • Fonctionnalité : Le logiciel OCR scanne des images ou du texte(par exemple, des photos ou des documents numérisés)et convertit les caractères en texte numérique qui peut être édité, recherché et stocké.
  • Applications : L'OCR est largement utilisé dans divers secteurs pour des tâches telles que la numérisation de documents imprimés, le traitement des factures, l'extraction de données de formulaires, la reconnaissance automatique des plaques d'immatriculation.(ANPR), flux de travail des comptes fournisseurs et numérisation de livres.
  • Technologie : L'OCR utilise des algorithmes pour identifier les motifs de lumière et d'obscurité afin d'interpréter les caractères. Les systèmes OCR modernes utilisent également l'apprentissage automatique et l'intelligence artificielle pour améliorer la précision, notamment pour le texte manuscrit.
  • Avantages : L'OCR améliore la productivité en automatisant la saisie de données, en réduisant les erreurs et en facilitant la recherche et la récupération de données. Il prend également en charge l'archivage de documents et aide les entreprises à gérer des flux de travail sans papier.

    La technologie OCR a considérablement évolué, la rendant très précise et utile pour le traitement des documents et l'extraction de données de factures à travers de nombreux formats de facture différents afin de réduire la saisie manuelle des données, éliminer le traitement manuel des factures et améliorer la sécurité des données.

IronOCR

IronOCR est une puissante reconnaissance optique de caractères(OCR)bibliothèque pour .NET(C#)qui permet aux développeurs d'extraire du texte à partir d'images, de PDF et d'autres formats de documents, de développer un logiciel de facturation OCR et de mettre en œuvre le flux de travail des comptes fournisseurs. Il offre une API facile à utiliser pour intégrer des fonctionnalités OCR dans le système de comptes fournisseurs ou le système comptable.

Principales caractéristiques de l'IronOCR

  • Extraction de texte : Il peut extraire du texte à partir de divers formats d'image(PNG, JPG, TIFF, etc.)et les PDFs, y compris les PDFs multipages pour les logiciels de comptabilité.
  • Précision : IronOCR utilise des algorithmes avancés et des techniques d'apprentissage automatique pour fournir une haute précision dans la reconnaissance de texte, même pour des images bruyantes ou de faible qualité pour les processus de comptes fournisseurs et les remises pour paiement anticipé.
  • Prise en charge des langues : La bibliothèque prend en charge plusieurs langues, y compris l'anglais, l'espagnol, le français et d'autres, ce qui aide à reconnaître le texte dans différentes langues.
  • Facilité d'utilisation : IronOCR propose une API simple qui permet aux développeurs d'intégrer rapidement des fonctionnalités OCR dans leurs applications sans nécessiter de connaissances techniques approfondies des techniques OCR.
  • Reconnaissance de code-barres et de code QR : En plus de la reconnaissance de texte standard, IronOCR peut également détecter et extraire des codes-barres et des codes QR à partir d'images.
  • Support PDF : Il peut lire et extraire du texte de PDF numérisés, ce qui le rend utile pour le traitement de factures, reçus et autres documents commerciaux.
  • Personnalisation : La bibliothèque permet la personnalisation des paramètres OCR pour des besoins spécifiques, tels que l'ajustement de la précision ou la gestion de différentes résolutions d'image.

Conditions préalables

Avant de commencer, assurez-vous d'avoir les éléments suivants :

  • Visual Studio est installé sur votre machine.
  • Compréhension de base de la programmation en C#.
  • Le package NuGet IronOCR installé dans votre projet.

Étape 1 : Créer un projet Visual Studio

Ouvrez Visual Studio et cliquez sur Créer un nouveau projet.

Traitement de factures OCR en C# (Tutoriel pour développeurs) : Figure 1 - Nouveau projet

Sélectionnez Application Console dans les options.

Traitement de factures OCR en C# (Tutoriel pour développeurs) : Figure 2 - Application console

Fournissez le nom et le chemin du projet.

Traitement des factures OCR en C# (Tutoriel pour développeur) : Figure 3 - Configuration du projet

Sélectionnez le type de version .NET.

Traitement des factures OCR en C# (Tutoriel pour développeurs) : Figure 4 - Cadre cible

Étape 2 : Installer la bibliothèque IronOCR C

Dans votre projet dans Visual Studio, allez dans Outils > Gestionnaire de packages NuGet > Gérer les packages NuGet pour la solution. Cliquez sur l'onglet Parcourir et recherchez IronOCR. Sélectionnez IronOCR et cliquez sur Installer.

Traitement de Factures par OCR en C# (Tutoriel Développeur) : Figure 5 - IronOCR

Une autre option consiste à utiliser la console et la commande ci-dessous.

dotnet add package IronOcr --version 2024.12.2
dotnet add package IronOcr --version 2024.12.2
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronOcr --version 2024.12.2
VB   C#

Étape 3 : Exemple d'image de facture d'entrée

Image d'une facture numérique d'exemple avec le numéro de facture.

Traitement de factures OCR en C# (Tutoriel Développeur) : Figure 6 - Exemple d'entrée

Étape 4 : Utilisez Tesseract et extrayez les données de l'image du reçu

Utilisez maintenant le code ci-dessous pour extraire les données d'une facture pour le traitement des factures par OCR.

using IronOcr;
License.LicenseKey = "Your License";
string filePath = "sample1.jpg"; // image for invoice OCR
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
    ocrInput.LoadImage(filePath);
    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise(); 
    // Read the text from the image or PDF
    var ocrResult = ocr.Read(ocrInput);
    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
    // next steps are to process data and use the extracted and validated data with invoice date
}
using IronOcr;
License.LicenseKey = "Your License";
string filePath = "sample1.jpg"; // image for invoice OCR
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
    ocrInput.LoadImage(filePath);
    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise(); 
    // Read the text from the image or PDF
    var ocrResult = ocr.Read(ocrInput);
    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
    // next steps are to process data and use the extracted and validated data with invoice date
}
Imports IronOcr
License.LicenseKey = "Your License"
Dim filePath As String = "sample1.jpg" ' image for invoice OCR
' Create an instance of IronTesseract
Dim ocr = New IronTesseract()
' Load the image or PDF file
Using ocrInput As New OcrInput()
	ocrInput.LoadImage(filePath)
	' Optionally apply filters if needed 
	ocrInput.Deskew()
	' ocrInput.DeNoise(); 
	' Read the text from the image or PDF
	Dim ocrResult = ocr.Read(ocrInput)
	' Output the extracted text
	Console.WriteLine("Extracted Text:")
	Console.WriteLine(ocrResult.Text)
	' next steps are to process data and use the extracted and validated data with invoice date
End Using
VB   C#

Explication du code

Le code fourni démontre comment utiliser la bibliothèque IronOCR en C# pour extraire du texte d'une image.(par exemple, une facture)en utilisant OCR(Reconnaissance optique de caractères). Voici une explication de chaque partie du code sans le code réel :

  1. Configuration de la clé de licence :

    Le code commence par définir la clé de licence pour IronOCR. Cette clé est nécessaire pour utiliser toutes les fonctionnalités de la bibliothèque. Si vous avez une licence valide, remplacez "Your License" par votre clé de licence réelle.

  2. Spécification du fichier d'entrée :

    La variable filePath contient l'emplacement de l'image qui contient la facture.(dans ce cas, "sample1.jpg"). Voici le fichier qui sera traité pour l'extraction de texte.

  3. Créer une instance OCR :

    Une instance de IronTesseract est créée. IronTesseract est la classe responsable de l'exécution de l'opération OCR sur les données d'entrée.(image ou PDF).

  4. Chargement de l'image :

    Le code crée ensuite un objet OcrInput, qui est utilisé pour charger l'image.(dans ce cas, un fichier JPG spécifié par filePath). La méthode LoadImage est utilisée pour lire le fichier image et le préparer pour l'OCR.

  5. Application de filtres d'image :

    Le code contient une étape de filtrage où des méthodes de traitement d'image facultatives, telles que Deskew(correction des images inclinées) et DeNoise (suppression du bruit de l'image), peut être appliqué pour améliorer la précision de l'OCR. Dans ce cas, seule la méthode Deskew est active.

  6. Effectuer l'OCR :

    • Le ocr.Read()La méthode est utilisée pour extraire du texte de l'image chargée. L'objet ocrInput, qui contient l'image, est passé à cette méthode, et elle renvoie un objet OcrResult contenant le texte extrait.
  7. Afficher le texte extrait :

    • Le texte extrait est ensuite affiché sur la console. Ce texte est ce qu'IronOCR a reconnu à partir de l'image et peut être utilisé pour un traitement ultérieur.

Sortie

Traitement d'une facture par OCR en C# (Tutoriel pour développeurs) : Figure 7 - Sortie OCR avec numéro de facture

Étape 5 : Lire uniquement une région d'une image

Pour améliorer l'efficacité, seule une partie de l'image peut être utilisée pour l'extraction.

using IronOcr;
using IronSoftware.Drawing;
License.LicenseKey = "Your Key";
string filePath = "sample1.jpg"; 
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
    var ContentArea = new Rectangle(x: 0, y: 0, width: 1000, height: 250);
    ocrInput.LoadImage(filePath, ContentArea);
    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise(); 
    // Read the text from the image or PDF
    var ocrResult = ocr.Read(ocrInput);
    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
}
using IronOcr;
using IronSoftware.Drawing;
License.LicenseKey = "Your Key";
string filePath = "sample1.jpg"; 
// Create an instance of IronTesseract
var ocr = new IronTesseract();
// Load the image or PDF file
using (var ocrInput = new OcrInput())
{
    var ContentArea = new Rectangle(x: 0, y: 0, width: 1000, height: 250);
    ocrInput.LoadImage(filePath, ContentArea);
    // Optionally apply filters if needed 
    ocrInput.Deskew();
    // ocrInput.DeNoise(); 
    // Read the text from the image or PDF
    var ocrResult = ocr.Read(ocrInput);
    // Output the extracted text
    Console.WriteLine("Extracted Text:");
    Console.WriteLine(ocrResult.Text);
}
Imports IronOcr
Imports IronSoftware.Drawing
License.LicenseKey = "Your Key"
Dim filePath As String = "sample1.jpg"
' Create an instance of IronTesseract
Dim ocr = New IronTesseract()
' Load the image or PDF file
Using ocrInput As New OcrInput()
	Dim ContentArea = New Rectangle(x:= 0, y:= 0, width:= 1000, height:= 250)
	ocrInput.LoadImage(filePath, ContentArea)
	' Optionally apply filters if needed 
	ocrInput.Deskew()
	' ocrInput.DeNoise(); 
	' Read the text from the image or PDF
	Dim ocrResult = ocr.Read(ocrInput)
	' Output the extracted text
	Console.WriteLine("Extracted Text:")
	Console.WriteLine(ocrResult.Text)
End Using
VB   C#

Explication du code

Ce code extrait du texte d'une région spécifique d'une image à l'aide de IronOCR et applique éventuellement des filtres comme le désinclinaison pour améliorer la précision. Le texte extrait est ensuite affiché et prêt pour une utilisation ultérieure.

1. Configuration de Licence :

La première partie du code consiste à définir la clé de licence pour IronOCR. Ceci est nécessaire pour utiliser la fonctionnalité OCR dans la bibliothèque. La clé de licence doit être remplacée par la clé réelle que vous obtenez d'IronOCR, vous permettant d'accéder à toutes les fonctionnalités de la bibliothèque.

2. Définir le chemin du fichier image :

Le chemin du fichier de l'image que vous souhaitez traiter est spécifié. Cette image(dans ce cas, un fichier JPG)contient le document ou le contenu à partir duquel l'OCR extraira le texte. Le chemin peut pointer vers un fichier image sur le système local ou un autre stockage accessible.

3. Créer une instance d'OCR :

Une instance de la classe IronTesseract est créée. Cet objet est le moteur principal qui effectuera la reconnaissance optique de caractères sur l'image.

4. Définir la zone à traiter :

Un rectangle(domaine d'intérêt)est défini dans l'image. Ce rectangle spécifie la partie de l'image sur laquelle le moteur OCR se concentrera. Dans cet exemple, le rectangle commence dans le coin supérieur gauche(x=0, y=0)et a une largeur de 1000 pixels et une hauteur de 250 pixels. Cette étape aide le processus OCR à ne traiter que la section pertinente de l'image, améliorant ainsi la précision et la vitesse.

5. Chargement de l'image :

L'image est chargée dans le moteur OCR, mais uniquement le rectangle défini.(la zone de contenu)est traité. Cela vous permet de restreindre la portée de l'OCR à une partie spécifique de l'image, ce qui est particulièrement utile lorsque l'image contient des zones non pertinentes, telles que des arrière-plans ou des logos, que vous ne souhaitez pas traiter.

6. Application de filtres :

Le code applique éventuellement un filtre de deskewing à l'image. Le deskewing est le processus de redressement d'une image si elle présente une inclinaison ou une rotation, améliorant ainsi la précision de l'OCR. Un autre filtre, denoise, est disponible mais commenté. Si activé, cela supprimerait le bruit.(marques indésirables)depuis l'image, ce qui pourrait améliorer davantage la précision de l'OCR.

7. Extraction du texte :

Le moteur OCR lit l'image(ou la zone spécifiée de celui-ci)et extrait tout texte qu'il reconnaît. Le résultat est stocké dans un objet qui contient le texte reconnu.

8. Afficher le texte extrait :

Enfin, le texte extrait est imprimé sur la console. Ce texte est le résultat du processus OCR, et il peut être traité, validé ou utilisé dans des applications telles que la saisie de données ou la gestion de documents.

Sortie

Traitement des factures OCR en C# (Tutoriel pour développeurs) : Figure 8 - Résultat extrait

Licence (version d'essai disponible)

IronOCR nécessite une clé pour extraire les données des factures, obtenez votre clé d'essai développeur depuis le page d'autorisation.

using IronOcr;
License.LicenseKey = "Your Key";
using IronOcr;
License.LicenseKey = "Your Key";
Imports IronOcr
License.LicenseKey = "Your Key"
VB   C#

Conclusion

Cet article a fourni un exemple de base pour commencer avec IronOCR pour le traitement des factures. Vous pouvez personnaliser et étendre ce code davantage pour répondre à vos besoins spécifiques.

IronOCR offre une solution efficace et facile à intégrer pour l'extraction de texte à partir d'images et de PDFs, ce qui la rend idéale pour le traitement des factures. En utilisant IronOCR en combinaison avec la manipulation de chaînes C# ou des expressions régulières, vous pouvez rapidement traiter et extraire des données importantes des factures.

Voici un exemple basique de traitement de factures, et avec des configurations plus avancées(comme la reconnaissance linguistique, le traitement de PDF multi-pages, etc.), vous pouvez affiner les résultats de l'OCR pour améliorer la précision en fonction de votre cas d'utilisation spécifique.

L'API d'IronOCR est flexible et peut être utilisée pour une grande variété de tâches OCR au-delà du traitement des factures, notamment la numérisation de reçus, la conversion de documents et l'automatisation de la saisie de données.

SUIVANT >
OCR des reçus de supermarché en C# (Tutoriel pour développeurs)