COMPARAISON AVEC D'AUTRES COMPOSANTS

Comparaison de l'OCR de factures en Open Source : Trouver le meilleur outil

Kannaopat Udonpant
Kannapat Udonpant
février 18, 2024
Partager:

Introduction

La reconnaissance optique de caractères (OCR) est désormais la technologie la plus importante pour le traitement de documents tels que les factures. Elle a évolué dans tous les aspects de l'entreprise, de l'éducation au niveau industriel. Partout, on constate l'utilisation de logiciels d'OCR car ils réduisent l'utilisation de la saisie manuelle des données. Il existe de nombreux types d'API d'OCR de factures que les développeurs peuvent utiliser pour créer des applications logicielles d'OCR pour traiter les factures.

Dans cet article, nous allons explorer les trois logiciels et bibliothèques Open Source C# pour le traitement des factures et autres processus d'OCR. Nous discuterons également de IronOCR (séparément d'eux), qui est la meilleure option payante pour les développeurs souhaitant intégrer des capacités OCR avancées dans des projets C#. Commençons par les options open-source.

Tesseract OCR

Tesseract OCR, initialement développé par Hewlett Packard et aujourd'hui maintenu par Google, est un puissant moteur d'OCR open-source. Il est capable de lire un large éventail de types de documents et de les convertir en données utilisables. Il prend en charge plusieurs langues, ce qui en fait une ressource précieuse pour les entreprises internationales.

Les développeurs C# trouvent l'OCR Tesseract exceptionnellement utile en raison de sa polyvalence et de sa précision d'extraction. En intégrant Tesseract dans leurs applications logicielles, les développeurs peuvent traiter efficacement les nouvelles factures et extraire les données et les informations pertinentes telles que les bons de commande et les montants des taxes. Nous pouvons utiliser les données extraites pour extraire le numéro de la facture et les articles de la facture PDF.

Capacités et caractéristiques de l'OCR Tesseract dans le C# ;

Intégration dans les applications .NET : Dans les projets C#, l'intégration de Tesseract OCR implique l'utilisation du SDK ou du wrapper Tesseract .NET, qui offre un moyen simplifié d'incorporer des fonctionnalités OCR. L'intégration permet aux développeurs de travailler dans l'environnement .NET qui leur est familier, ce qui garantit un processus de développement sans heurts.

Reconnaissance de texte : Tesseract OCR excelle dans la reconnaissance et l'extraction de texte à partir de divers formats d'image. Il est capable de traiter toute une série de types de documents, qu'il s'agisse de documents numérisés, de fichiers PDF ou d'images capturées dans des conditions d'éclairage ou sous des angles différents.

Prise en charge de plusieurs langues : L'un des principaux atouts de Tesseract est sa prise en charge de plus de 100 langues. Il s'agit donc d'un outil incroyablement polyvalent pour les applications globales qui doivent traiter et analyser des données textuelles provenant de diverses sources linguistiques.

Personnalisation et Formation : Tesseract permet aux développeurs de former le moteur avec de nouvelles polices et langues, offrant ainsi une solution OCR sur mesure qui répond aux besoins spécifiques de l'entreprise ou aux types de documents. Cette fonctionnalité est particulièrement bénéfique pour reconnaître le texte dans des documents spécialisés ou des polices peu courantes.

Emgu CV

Invoice OCR Open Source (Comparaison des outils gratuits et payants) : Figure 1 - Page Web Emgu CV

Emgu CV C# est un wrapper .NET de la bibliothèque OpenCV. Il permet aux développeurs d'utiliser facilement les fonctionnalités d'OpenCV dans leurs projets C#. Il fournit une riche boîte à outils pour le traitement d'images, la vision par ordinateur et d'autres domaines connexes. Il peut être très utile pour traiter les factures afin d'en extraire des données structurées.

Il utilise le moteur OCR de Tesseract pour extraire le texte des images et des documents. Cette étape exige de la précision car elle constitue l'étape principale de l'extraction de données à partir de toute facture. La méthode principale de cet encapsuleur est Tesseract.Recognize(), car elle convertit le texte de l'image en données éditables et recherchables. Les développeurs peuvent améliorer l'efficacité des flux de travail pour le traitement des factures.

Avantages d'Emgu CV

Multi-plateforme : Emgu CV est fonctionnel sur toute plateforme qui prend en charge .NET, y compris iOS, Android, Mac OS, Linux et Windows.

Multi-langage : Au-delà de C#, Emgu CV est accessible dans plusieurs langues, y compris VB.NET, C++ et IronPython. Il fournit de nombreux exemples de code et une assistance solide grâce à sa documentation.

At9T

Comparaison des outils OCR de facture open source (gratuits et payants) : Figure 2 - Page Web At9T

At9T, également connu sous le nom de (a9t9), propose une application logicielle OCR (reconnaissance optique des caractères) gratuite. Ce logiciel peut être utilisé pour extraire des données à partir de PDF et d'images en utilisant une belle interface graphique (GUI). Il est entièrement écrit en langage C#. Il offre un moyen très simple et facile à utiliser de convertir les PDF en documents consultables grâce à son traitement intelligent des documents.

Son interface graphique permet d'étendre son marché aux non-développeurs qui veulent des solutions en un seul clic. Ce logiciel est très facile à installer et à utiliser. Il peut être utilisé à des fins personnelles et professionnelles. Il peut effectuer efficacement de nombreuses tâches d'OCR. Il est possible de télécharger des factures PDF et d'en extraire les données, telles que la date de la facture, les postes, les totaux, etc. Il suffit de télécharger et d'appuyer sur un bouton pour lancer l'OCR, qui commencera à traiter les factures.

Caractéristiques de l'At9T

Interface conviviale : Son interface utilisateur est facile à utiliser. Il a été conçu dans un souci de simplicité. Toute personne sans expérience peut l'utiliser facilement.

Prise en charge de plusieurs langues : Il prend en charge plusieurs langues comme l'anglais, le néerlandais, le japonais, le coréen, et bien d'autres.

Traitement par lots : Ce logiciel peut effectuer la ROC de plusieurs fichiers en même temps. Cela vous fera gagner du temps si vous souhaitez extraire des données d'un grand nombre de fichiers.

Présentation d'IronOCR : une solution avancée d'OCR

Reconnaissance de Factures OCR Open Source (Comparaison d'outils gratuits et payants) : Figure 3 - page web IronOCR

Comme nous l'avons vu plus haut, les options open-source présentent de nombreuses difficultés. Comme Tesseract, il n'est pas facile de l'intégrer dans nos projets ; il a besoin d'une enveloppe pour l'utiliser. Pour utiliser Emgu CV, vous devez connaître OpenCV. Dans le cas contraire, l'apprentissage sera difficile, et la documentation n'est pas très complète. Par ailleurs, At9T n'est pas adapté aux documents complexes.

Pour surmonter ces problèmes et faire progresser les solutions OCR, IronOCR est la meilleure option. IronOCR est une bibliothèque OCR .NET qui étend les capacités du moteur Tesseract 5 et ajoute des options plus avancées pour l'OCR. Contrairement à Tesseract et à d'autres bibliothèques, il est très facile à intégrer dans les projets .NET.

IronOCR prend en charge de nombreux formats de documents, notamment les PDF, PNG, JPG, BMP et autres. Il prend en charge un large éventail de Framework .NET et de plateformes, notamment Windows, macOS et autres. Vous pouvez effectuer des actions d'OCR dans plus de 127 langues, ce qui en fait un produit d'OCR global. Vous pouvez extraire les données de tous les formats de factures grâce à son incroyable technologie d'OCR des factures. IronOCR utilise l'apprentissage automatique pour une meilleure reconnaissance de texte. Examinons les principales caractéristiques d'IronOCR.

Principales caractéristiques de l'IronOCR

Voici un résumé organisé de ses principales caractéristiques :

Flexibilité d'entrée : Lit à partir d'une variété de formats, y compris des images (JPG, PNG, BMP), des fichiers multi-pages/cadres (TIFF, GIF), et des objets System.Drawing, des flux, et des PDFs avec DPI optimisé.

Filtres Avancés : Une gamme de filtres comme l'assistant de filtrage, la correction d'image (accentuation, amélioration de la résolution, débruitage, dilatation, érosion), la correction d'orientation de l'image (rotation, redressement, mise à l'échelle), et la correction des couleurs (binarisation, niveaux de gris, inversion, remplacement des couleurs, sélection de la couleur du texte) est disponible pour garantir une qualité d'image optimale avant l'OCR.

Sélection de région : Permet de sélectionner des régions spécifiques du document pour l'OCR via CropRectangle.

Sortie de données : Fournit une sortie de données simple sous forme de chaînes de texte .NET, de codes-barres, de données QR et d'images.

Données structurées : Offre une sortie de données structurées sous forme de pages, blocs, paragraphes, lignes, mots et caractères.

Exportation de documents : Permet l'exportation de documents sous forme de PDF consultables, HTML, ou sous forme d'images de pages, texte, code-barres ou QR.

Surlignage et Sauvegarde de Texte : Fonctionnalité pour surligner et sauvegarder des caractères, des mots, des lignes et des paragraphes.

Langages et Cadres : Prend en charge C#, VB.NET, F#, et est compatible avec .NET 8, 7, 6, 5, Core 2x & 3x, Standard 2, et Framework 4.6.2+.

Systèmes d'exploitation : Compatibilité polyvalente avec Microsoft Windows, macOS, Linux, Docker, Azure, et AWS.

Support IDE : Entièrement pris en charge sur Microsoft Visual Studio et JetBrains ReSharper & Rider.

Exemple

Voici l'exemple de code permettant d'extraire des données de la facture à l'aide d'IronOCR :

// Create IronOCR Tesseract Instance
IronTesseract tesseract = new IronTesseract();
// Create an OcrInput object
using (OcrInput input = new OcrInput("sample_invoice.png")) // You can directly pass the image path to the constructor
{
    // Read and store OcrResults object
    OcrResult result = tesseract.Read(input);
    // Get all text from the OCR result
    string allText = result.Text;
    // Print to console
    Console.WriteLine(allText);
}
// Create IronOCR Tesseract Instance
IronTesseract tesseract = new IronTesseract();
// Create an OcrInput object
using (OcrInput input = new OcrInput("sample_invoice.png")) // You can directly pass the image path to the constructor
{
    // Read and store OcrResults object
    OcrResult result = tesseract.Read(input);
    // Get all text from the OCR result
    string allText = result.Text;
    // Print to console
    Console.WriteLine(allText);
}
' Create IronOCR Tesseract Instance
Dim tesseract As New IronTesseract()
' Create an OcrInput object
Using input As New OcrInput("sample_invoice.png") ' You can directly pass the image path to the constructor
	' Read and store OcrResults object
	Dim result As OcrResult = tesseract.Read(input)
	' Get all text from the OCR result
	Dim allText As String = result.Text
	' Print to console
	Console.WriteLine(allText)
End Using
$vbLabelText   $csharpLabel

Voici les données de sortie que nous avons extraites de l'image de la facture :

OCR de facture en open source (Comparaison d'outils gratuits et payants) : Figure 4 - Résultat en utilisant le code précédent pour extraire le texte d'une facture d'exemple

Nous pouvons analyser les données à l'aide de la reconnaissance des données et les exporter dans un fichier CSV.

Conclusion

En conclusion, lorsque nous parlons de la lecture de texte à partir d'images ou de documents (technologie OCR), nous avons de nombreux choix. Tesseract OCR, Emgu CV et At9T sont tous des outils gratuits que les gens peuvent utiliser. Chacun d'entre eux est bon à sa manière.

Mais si vous avez besoin de quelque chose de plus avancé en OCR de factures, et si cela convient à vos besoins, vous pouvez commencer une licence à partir de $749.

Ainsi, que vous soyez un programmeur cherchant à ajouter des fonctions de lecture de texte à votre projet ou une entreprise souhaitant mieux gérer ses documents, de nombreuses options s'offrent à vous. Des outils gratuits comme Tesseract, Emgu CV et At9T sont de bons points de départ. Mais pour quelque chose de plus professionnel, IronOCR offre de nombreuses fonctionnalités avancées. L'essentiel est de choisir l'outil qui convient à vos besoins spécifiques.

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. 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
Tesseract vs Microsoft OCR : comparaison tête-à-tête
SUIVANT >
Essais de logiciels d'OCR : Explorer les meilleures options