Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
La reconnaissance optique de caractères permet d'identifier le texte qui peut être lu dans une image. La reconnaissance optique de caractères est utilisée de différentes manières. Par exemple, il peut scanner et numériser de vieux documents papier pour les convertir en documents électroniques consultables. Il est également utile aux forces de l'ordre pour identifier des preuves criminelles en examinant des photos et des vidéos. Pour qu'une machine ou un ordinateur puisse déterminer les caractères d'un document, il faut qu'il comprenne la police utilisée et le système d'écriture dans lequel ces caractères ont été écrits. Souvent, cette compréhension provient de logiciels d'intelligence artificielle appelés algorithmes de reconnaissance d'images, qui sont entraînés et réglés sur de vastes ensembles de données d'images textuelles.
L'OCR est une technologie importante qui a de nombreuses utilisations. Il est souvent utilisé pour lire des documents papier scannés, les convertissant en fichiers numériques qui peuvent être édités et recherchés via des ordinateurs. Cependant, l'OCR peut également s'appliquer à divers autres types d'informations, notamment le texte imprimé sur des panneaux ou des étiquettes, le texte manuscrit ou dactylographié figurant sur des chèques, des formulaires et d'autres documents commerciaux, et même les dossiers médicaux transcrits à partir d'enregistrements audio.
Dans cet article, nous allons comparer deux bibliothèques OCR .NET.
IronOCR est l'OCR le plus récent et le plus avancé (Reconnaissance optique de caractères) pour .NET C# et VB. IronOCR peut scanner des codes-barres et des codes QR à partir de tous les formats d'image, et il lit du texte et effectue la numérisation de PDF en utilisant le dernier moteur Tesseract 5. IronOCR peut ajouter la fonctionnalité OCR dans tous les modèles de projets .NET tels que les applications de bureau, la console et les applications web avec seulement quelques lignes et sans ajouter de bibliothèque. IronOCR est l'un des moteurs OCR les plus précis pour les projets .NET.
Examinons quelques-unes des caractéristiques uniques de l'IronOCR :
IronOCR peut facilement effectuer l'OCR sur des fichiers PDF et exporter des documents PDF consultables à l'aide de l'OCR.
Toutes les langues principales sont prises en charge par IronOCR, y compris l'allemand, l'anglais, l'arabe, le chinois, le finnois, le français, le japonais et bien d'autres encore. IronOCR permet d'afficher les résultats dans différents formats tels que les données de code-barres, le texte brut ou la classe de résultats de l'OCR qui contient des lignes, des mots, des paragraphes et des caractères. IronOCR utilise la technologie de bibliothèque Tesseract.
IronOCR est compatible avec les machines Mac, Windows et Linux. Il prend également en charge Azure et Docker pour les solutions cloud. La dernière mise à jour d'IronOCR inclut .NET core 3.1 et .NET 6 dans la liste des supports, et prend également en charge Xamarin pour MacOS.
Le SDK Tesseract.net est un produit de Patagames, une société spécialisée dans la reconnaissance optique de caractères (OCR) pour les projets .NET, et fournit une méthode pour ajouter des capacités OCR telles que la reconnaissance de texte dans les applications .NET. Le SDK Tesseract.NET est un moteur OCR qui peut lire différents formats d'images et convertir les images en texte. Il prend en charge jusqu'à 60 langues. Il permet également de lire et de numériser des documents PDF et de les convertir en fichiers PDF interrogeables. Fondamentalement, le SDK Tesseract.NET est une bibliothèque de classes basée sur le projet OCR Tesseract. Il dispose d'un moteur Tesseract pour effectuer l'OCR. Le fichier Patagames.Ocr.xml contient la documentation XML de l'API.
Le SDK Tesseract.NET prend en charge les Framework .NET 2.0 à 4.5 sur les systèmes d'exploitation 32 bits et 64 bits. Ce SDK peut être utilisé avec Windows XP et d'autres versions de Windows telles que Windows 7, Vista, 8, 10 et 11. Il est compatible avec les systèmes d'exploitation 32 bits et 64 bits, ce qui facilite son utilisation sur n'importe quel processeur.
Malheureusement, le kit de développement .NET n'est pas disponible pour macOS ou Linux.
Voyons comment nous pouvons utiliser IronOCR et le SDK Tesseract.NET dans notre projet.
Nous utilisons la version 2022 de Visual Studio pour créer ce projet. Il est recommandé d'utiliser la dernière version de Visual Studio pour progresser en douceur. Ensuite, ouvrez Visual Studio et cliquez sur "Créer un nouveau projet". Ensuite, cliquez sur "Console Application" dans les modèles et configurez votre projet.
Saisissez maintenant le nom du projet. Je l'appellerai "IronOCR for .NET SDK". Ensuite, sélectionnez le chemin où vous souhaitez créer un projet et appuyez sur Entrée.
Sélectionnez ensuite la version .NET. Nous utilisons la dernière version de .NET, à savoir .NET 6, et IronOCR la prend en charge. Vous pouvez utiliser ce qui correspond le mieux à vos besoins pour le projet.
Après avoir cliqué sur le bouton Créer, le modèle de projet crée le projet et est maintenant prêt à installer les bibliothèques. Installons les bibliothèques directement.
Il est maintenant temps d'installer les bibliothèques et de vérifier les fonctionnalités. Tout d'abord, nous allons installer la bibliothèque IronOCR.
IronOCR prend en charge l'installation à l'aide de différentes méthodes. Nous pouvons choisir n'importe quelle approche. Toutes les méthodes sont sûres.
Nous pouvons installer la bibliothèque IronOCR à l'aide de l'interface graphique du gestionnaire de paquets NuGet dans Visual Studio. Nous pouvons y accéder en cliquant sur Outils > NuGet Package manager > Manage NuGet Packages for solution.
Allez dans l'onglet Parcourir et recherchez IronOCR. Sélectionnez IronOCR dans les résultats de la recherche et installez-le dans notre projet.
Nous avons maintenant installé la bibliothèque IronOCR dans notre projet. Il est prêt à être utilisé dans notre projet .NET.
Nous pouvons utiliser la console NuGet Package Manager pour installer la bibliothèque IronOCR. Allez dans la ligne de commande, qui se trouve généralement sous le fichier de code, puis écrivez la ligne suivante dans la ligne de commande et appuyez sur Entrée.
Installer le paquet IronOCR
L'installation de la bibliothèque IronOCR commence. Après l'installation, il sera prêt à être utilisé dans notre projet.
Nous pouvons installer le SDK Tesseract.NET à l'aide du gestionnaire de paquets NuGet. Pour installer le SDK Tesseract.NET, allez dans Outils > NuGet Package Manager > Manage NuGet Packages for Solution. Allez dans l'onglet Parcourir et recherchez le SDK Tesseract.NET. Sélectionnez le SDK Tesseract.NET dans les résultats de la recherche et installez-le. Après l'installation, nous pouvons utiliser le SDK Tesseract.NET dans notre programme.
Après l'installation, vous pouvez voir ces trois dossiers dans l'explorateur de solutions.
Ces dossiers contiennent les données essentielles dont Tesseract a besoin pour effectuer l'OCR. Nous sommes maintenant prêts à intégrer la fonction OCR dans notre projet.
Il est maintenant temps de tester les capacités d'IronOCR et du SDK Tesseract.NET. Les deux bibliothèques peuvent effectuer une reconnaissance optique des caractères (OCR) sur les images. Nous les testerons en utilisant une image inclinée et bruyante avec du texte.
Il s'agit de l'image que nous utiliserons pour les tests.
Tout d'abord, nous allons examiner la sortie générée par le SDK Tesseract.NET pour l'image de test. Jetons un coup d'œil au code :
using Patagames. Ocr;
using (var api = OcrApi.Create())
{
api.Init(Patagames.Ocr.Enums.Languages.English);
string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Console.WriteLine(plainText);
}
using Patagames. Ocr;
using (var api = OcrApi.Create())
{
api.Init(Patagames.Ocr.Enums.Languages.English);
string plainText = api.GetTextFromImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Console.WriteLine(plainText);
}
Imports Patagames.Ocr
Using api = OcrApi.Create()
api.Init(Patagames.Ocr.Enums.Languages.English)
Dim plainText As String = api.GetTextFromImage("C:\Users\Administrator\Desktop\Input.jpg")
Console.WriteLine(plainText)
End Using
Tout d'abord, nous allons importer les Patagames. Bibliothèque OCR pour l'utilisation du SDK Tesseract.NET. Ensuite, nous allons créer une OcrApi en utilisant la fonction Create. Ensuite, nous réglerons la langue par défaut sur l'anglais à l'aide de la fonction Init. Ensuite, nous extrayons du texte brut de l'image à l'aide de la méthode GetTextFromImage, et dans le paramètre, nous fournissons le chemin d'accès aux fichiers d'image. Ensuite, nous écrivons le texte extrait dans la console.
Ensuite, regardez le résultat généré par le SDK Tesseract.NET :
Voici donc la sortie que nous obtenons du SDK Tesseract.NET. Dans un premier temps, il donne des erreurs basées sur la résolution, ce qui montre qu'il ne fonctionne bien que pour les images à haute résolution. Après les erreurs, nous pouvons voir le texte extrait de l'image. Si nous comparons ce texte avec l'image, nous verrons qu'il est totalement différent. Le texte extrait contient beaucoup de texte non pertinent qui n'a aucun sens. Dans l'ensemble, le SDK Tesseract.NET échoue à ce test.
Ensuite, nous verrons les résultats de l'IronOCR. Avant de passer aux résultats, nous allons d'abord examiner le code de l'IronOCR :
using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
using (var Input = new OcrInput())
{
Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Input.Deskew();
Input.DeNoise();
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract(); // nothing to configure
Ocr.Language = OcrLanguage.EnglishBest;
using (var Input = new OcrInput())
{
Input.AddImage(@"C:\Users\Administrator\Desktop\Input.jpg");
Input.Deskew();
Input.DeNoise();
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract() ' nothing to configure
Ocr.Language = OcrLanguage.EnglishBest
Using Input = New OcrInput()
Input.AddImage("C:\Users\Administrator\Desktop\Input.jpg")
Input.Deskew()
Input.DeNoise()
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Dans le code ci-dessus, nous importons la bibliothèque IronOCR dans notre programme, puis nous créons un objet IronTesseract, ce qui permet de lancer le processus. Ensuite, nous avons réglé la langue du processus sur l'anglais. Le travail proprement dit peut maintenant commencer. Nous faisons l'objet d'OcrInput. Attribuer le chemin d'accès à l'image à la variable Input à l'aide de la fonction AddImage. Nous utilisons la fonction Deskew pour faire pivoter l'image à sa position réelle, puis la fonction Denoise pour supprimer le bruit de l'image. Cela permettra d'obtenir de meilleurs résultats. Ensuite, nous utilisons la fonction Read pour reconnaître le texte et l'extraire de l'image de test. Ensuite, nous affichons le résultat dans la console. Vous pouvez également enregistrer le résultat sous forme de fichier PDF dans le fichier du projet.
Voici le résultat généré par IronOCR :
Si nous comparons le résultat, il s'agit du même texte que celui présent sur l'image. IronOCR extrait parfaitement le texte sans aucune erreur. IronOCR peut extraire du texte à partir d'images déformées et ayant subi une rotation. Il fonctionne même avec des images en basse résolution.
IronOCR prend également en charge l'ajout d'images multiples. Nous pouvons utiliser la méthode "AddMultiFrameTiff" pour effectuer cette opération. IronOCR lit chaque image de l'image, et chaque image est traitée comme une page séparée. Seules les images Tiff sont prises en charge par cette méthode.
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("images/multiframe.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddMultiFrameTiff("images/multiframe.tiff");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddMultiFrameTiff("images/multiframe.tiff")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Jetons un coup d'œil au code permettant de créer un PDF interrogeable :
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddImage(@"images\page1.png")
Input.AddImage(@"images\page2.bmp")
Input.AddMultiFrameTiff(@"images\page3.tiff")
Input.Deskew();
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddImage(@"images\page1.png")
Input.AddImage(@"images\page2.bmp")
Input.AddMultiFrameTiff(@"images\page3.tiff")
Input.Deskew();
var Result = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddImage("images\page1.png") Input.AddImage("images\page2.bmp") Input.AddMultiFrameTiff("images\page3.tiff") Input.Deskew()
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
La fonction SaveAsSearchablePdf permet d'enregistrer les fichiers en tant que fichiers consultables.
IronOCR prend en charge 127 langues. IronOCR prend également en charge les codes QR et les codes-barres de plus de 20 types de lecture. IronOCR peut convertir les images en échelle de gris pour un meilleur résultat. IronOCR peut améliorer la résolution des images manuellement et automatiquement. Il prend également en charge la fonctionnalité de contraste automatique pour des résultats optimaux. IronOCR peut exporter le document dans plusieurs langues et formats tels que PDF avec recherche, exportation HTML et images de n'importe quelle page. IronOCR prend en charge de nombreux formats d'entrée tels que les suivants :
IronOCR est libre de développement. Il propose également une version d'essai gratuite pour le développement. IronOCR propose différents plans tarifaires pour la production. Vous pouvez souscrire le plan qui correspond le mieux à vos besoins. Il existe des plans tarifaires individuels, pour les équipes de développeurs et pour les organisations. Les prix commencent à partir de $749 pour un plan Lite pour un développeur et un projet. Tous les plans sont des paiements uniques. Les utilisateurs bénéficient de mises à jour gratuites pendant un an. Il prend également en charge la couverture SaaS et OEM. Les plans professionnels sont disponibles à 999 $, tandis que le plan illimité est proposé à 2999 $. L'offre illimitée comprend un nombre illimité de développeurs, de projets et de sites.
Vous pouvez en savoir plus sur les plans tarifaires en suivant ce lien lien. Par ailleurs, Iron Software propose actuellement une offre spéciale permettant d'acheter une suite de cinq logiciels pour le prix de deux seulement. Ces cinq logiciels sont tous excellents : IronPDF, IronXL, IronOCR, IronBarcode et IronWebscraper.
Le SDK Tesseract.NET dispose également d'un plan de tarification. Le plan Tesseract.NET SDK commence à 220 $ pour un développeur et un projet. Il est important de savoir que le plan tarifaire comprend un plan de renouvellement. Vous devez donc payer annuellement ou mensuellement pour vous assurer que le SDK Tesseract.NET fonctionne dans votre projet. Pour en savoir plus sur le plan de tarification du SDK Tesseract.NET, consultez le site suivant lien.
IronOCR est la bibliothèque idéale pour les tâches à accomplir. IronOCR prend également en charge 127 langues, ce qui signifie qu'il est accepté dans le monde entier. Il prend en charge plusieurs formats d'images et de PDF pour le traitement des entrées. Il effectue également le prétraitement des images pour garantir les meilleurs résultats. IronOCR est une bibliothèque .NET très intéressante. Il peut reconnaître du texte dans une zone spécifique d'une image. IronOCR met l'accent sur la précision, et les résultats obtenus sont en effet étonnants à cet égard. Les développeurs n'ont pas besoin de fichiers et de bibliothèques supplémentaires pour effectuer l'OCR. Dans l'ensemble, c'est la bibliothèque idéale.
Le SDK Tesseract.NET est également une bibliothèque sonore pour les projets .NET. Il offre des services d'OCR dans 60 langues. Il est basé sur le projet Tesseract OCR. Il peut convertir des images numérisées en PDF interrogeables grâce à son ensemble de fonctions. Le SDK Tesseract.NET accepte un large éventail de formats d'image pour le traitement des données d'entrée. Il fournit des services de haut niveau pour prendre en charge ses capacités d'OCR dans les projets .NET.
IronOCR et le SDK Tesseract.NET ont tous deux des plans de tarification. Mais IronOCR offre un peu plus de variété dans son plan de tarification, et il est également moins cher que le SDK Tesseract.NET. En effet, IronOCR n'accepte que des paiements uniques, alors que le SDK Tesseract.NET permet des renouvellements mensuels ou annuels. Ainsi, à long terme, vous devrez nécessairement payer plus cher pour le SDK Tesseract.NET, même si son prix de départ est inférieur à celui d'IronOCR.
En analysant l'ensemble du scénario et en testant les capacités des deux bibliothèques, nous pouvons conclure qu'IronOCR est une meilleure option que le SDK Tesseract.NET en termes de performances pour les documents flous et pivotés qui sont inclinés et un peu bruyants. La capacité d'OCR des deux bibliothèques est bonne, mais IronOCR est une bibliothèque avancée avec de meilleures fonctions telles que le prétraitement des images, le débruitage et la rotation des images à leur position d'origine. Le SDK Tesseract.NET prend en charge jusqu'à 60 langues et IronOCR jusqu'à 127 langues. Le SDK Tesseract.NET nécessite des fichiers supplémentaires pour les différentes langues, ce qui alourdit le programme. Par ailleurs, la dernière mise à jour du SDK Tesseract.NET remonte à longtemps.
IronOCR propose un essai gratuit pour les tests de production. Il propose également une excellente offre spéciale qui permet d'acheter la suite complète de cinq logiciels Iron Software pour le prix de deux seulement. Vous pouvez obtenir plus d'informations sur l'offre à l'adresse suivante lien.
9 produits de l'API .NET pour vos documents de bureau