Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Reconnaissance optique de caractères(OCR) permet de convertir un fichier image en texte codé. Cette fonction est extrêmement utile étant donné que les documents numérisés sont enregistrés sous forme de fichiers image et que les données contenues dans ces fichiers image ne peuvent pas être recherchées, modifiées ou enregistrées au format texte à l'aide d'un éditeur de texte normal ou même d'une application de traitement de texte. Le traitement OCR permet de convertir ces images en texte lisible par la machine pour un traitement ultérieur par les utilisateurs.
À l'ère moderne, les documents partagés sur l'internet sont généralement au format numérique, le plus souvent sous forme de PDF ou d'images. Il existe de nombreuses ressources en ligne qui permettent de convertir des images en texte. Cependant, la plupart des entreprises ont besoin de cette fonctionnalité dans leurs applications logicielles. Dans cette optique, il existe de nombreuses bibliothèques qui fournissent une technologie de traitement OCR à intégrer dans des applications logicielles.
Dans cet article, nous allons aborder deux des bibliothèques OCR les plus populaires pour C#. Il s'agit de
IronOCR for .NET est une bibliothèque C# qui permet aux utilisateurs de numériser, de rechercher et de lire des images et des PDF. Il prend une image ou un fichier PDF en entrée et utilise le dernier moteur d'OCR .NET personnalisé Tesseract 5 pour produire du texte, des données structurées ou des documents PDF consultables. Tesseract est disponible dans plus de 125 langues, et IronOCR offre une prise en charge multiplateforme dans .NET Core, Standard, de la version 2.0 à la version 7.
IronOCR est une API conviviale qui permet aux développeurs C# de convertir automatiquement des images en texte à l'aide de la classe IronTesseract
. La bibliothèque privilégie la rapidité, la précision et la facilité d'utilisation.
Une autre fonctionnalité puissante d'IronOCR est sa capacité à scanner les codes-barres et les codes QR de tous les fichiers images et à lire leur texte. D'autres caractéristiques importantes de l'IronOCR sont énumérées ci-dessous.
System.Drawing Objects
, les flux, les documents PDF, etc.Simple Data Output: Produit des chaînes de texte, des codes-barres, des QR et des images au format .NET.
Jetons maintenant un coup d'œil à l'API OCR de Nanonets.
Nanonets OCR API est une API REST qui permet d'extraire des données en temps réel en fonction des besoins de l'entreprise pour automatiser les flux de travail. L'API OCR est alimentée par l'IA et peut capturer, catégoriser et extraire en toute sécurité des données de documents non structurés en quelques secondes. Avec Nanonets, vous pouvez automatiser la saisie manuelle des données, réduisant ainsi l'effort manuel nécessaire.
Nanonets comprend les documents grâce à l'apprentissage automatique, même ceux qui ne suivent pas un modèle standard. Vous pouvez télécharger n'importe quel document non structuré et capturer uniquement les informations souhaitées en fonction de différents champs. Contrairement à l'OCR traditionnel, le modèle d'OCR de Nanonets peut être entraîné pour obtenir de meilleurs résultats. Au fur et à mesure que votre entreprise se développe, le modèle OCR de traitement intelligent des documents Nanonets évolue et apprend avec chaque nouveau document, fournissant des résultats rapides et précis.
En outre, Python fournit un package Python qui permet une intégration facile et la capture de données dans les applications Python sans nécessiter de demandes d'API. Les autres caractéristiques sont les suivantes :
Conformité au GDPR
Plusieurs options d'exportation disponibles
Le reste de l'article se lit comme suit :
Création du projet Visual Studio
Installation de l'IronOCR
Installation de l'API OCR de Nanonets
De l'image au texte
Code-barres et QR vers texte
PDF vers texte
Licences
Dans ce tutoriel, nous allons utiliser la dernière version de Visual Studio 2022. Si vous ne l'avez pas encore téléchargé et installé, vous pouvez le faire à partir de l'adresse suivanteSite web de Visual Studio.
Nous devons maintenant créer un projet de console pour commencer à utiliser les deux bibliothèques. Suivez les étapes pour créer un projet :
Cliquez sur Créer un nouveau projet.
Sélectionnez l'application console C# parmi les options proposées.
Cliquez sur Suivant.
Sous Informations complémentaires, sélectionnez Framework .NET 6.0, car il s'agit de la version la plus stable.
Cliquez maintenant sur Créer et le projet sera créé à l'emplacement que vous avez spécifié.
Ensuite, nous allons installer les bibliothèques dans notre projet à des fins de comparaison.
Il existe plusieurs façons d'installer la bibliothèque IronOCR. Examinons-les un par un.
NuGet est le gestionnaire de paquets qui permet de télécharger et d'installer les dépendances dans votre projet. Ses paquets contiennent du code compilé et des(DLL) et le fichier manifeste. Accédez-y en utilisant la méthode suivante :
Cliquez sur Gérer les paquets NuGet pour les solutions.
Alternativement :
Cliquez sur Gérer les paquets NuGet.
La fenêtre du gestionnaire de paquets NuGet s'ouvre alors. Recherchez IronOCR et cliquez sur Installer.
IronOCR peut également être téléchargé directement depuis le site officiel de NuGet. Suivez les étapes suivantes :
Cliquez sur le lien : "".
Cliquez sur l'option "télécharger le paquet" sur le côté droit de la page.
Ouvrez le paquet téléchargé et l'installation commencera.
Il suffit de se rendre sur le site Web d'Iron Software et de naviguer jusqu'à la page Web IronOCR for .NET. Descendez jusqu'en bas et cliquez sur Download DLL ou Download Windows installer.
Un fichier zip sera téléchargé. Extrayez le fichier du projet ou exécutez le programme d'installation Windows. Suivez les étapes ci-dessous pour l'ajouter à votre projet.
Cliquez avec le bouton droit de la souris sur les dépendances du projet dans Visual Studio à partir de l'explorateur de solutions.
Sélectionnez ensuite l'option Ajouter une référence de projet.
Parcourez l'emplacement du fichier DLL téléchargé.
Accédez à l'onglet Outils dans Visual Studio.
Étendre l'option NuGet Package Manager.
Install-Package IronOcr
Ceci téléchargera et installera automatiquement IronOCR dans votre projet.
Nous sommes maintenant prêts à utiliser IronOCR dans notre projet.
Il n'y a qu'un seul espace de nommage requis, qui doit être ajouté en haut du fichier de code source où nous devons accéder aux fonctions d'IronOCR.
using IronOcr;
using IronOcr;
Imports IronOcr
Installons maintenant Nanonets OCR API.
Voici les paragraphes corrigés :
Les nanoréseaux peuvent être utilisés de multiples façons pour capturer des données. Il offre une fonction d'OCR en ligne qui peut être utilisée pour l'extraction instantanée de données, réduisant ainsi les délais d'exécution. En tant qu'API REST, elle peut être intégrée dans plusieurs langages de programmation. Nous montrerons ici comment l'intégrer dans un langage de programmation C#.
Pour automatiser la capture de données à l'aide de l'API OCR de Nanonets en C#, vous aurez besoin des éléments suivants :
S'inscrire à Nanonets - Vous pouvez vous inscrire pour un essai gratuit en utilisant votre compte Gmail ou un courriel enregistré auprès de Nanonets.
Créer un modèle OCR - Cette opération permet de générer un identifiant de modèle qui sera utilisé ultérieurement lors des appels à l'API.
RestSharp est une bibliothèque client Rest et HTTP simple pour .NET. Il est utilisé pour envoyer et recevoir des requêtes API et gérer les réponses. Cette bibliothèque est nécessaire pour exécuter le code de l'API Nanonets puisqu'il s'agit également d'une API REST.
Pour installer RestSharp, ouvrez le gestionnaire de paquets NuGet de votre solution, recherchez RestSharp et installez-le. Vous pouvez également ouvrir la console du gestionnaire de paquets et taper la commande suivante :
PM> Install-Package RestSharp
Maintenant, tout est installé et prêt à l'emploi.
La lecture de données à partir d'images peut s'avérer une tâche assez fastidieuse. La résolution et la qualité des images jouent un rôle important lors de l'extraction du contenu. L'IronOCR et les Nanonets offrent tous deux une fonctionnalité de reconnaissance optique de caractères permettant d'extraire du texte des images.
IronOCR facilite grandement la tâche des développeurs en leur permettant delire le contenu d'un fichier image avec sa puissante classe IronTessaract
. Nous utiliserons le code suivant pour lire le texte d'un fichier image PNG :
var Ocr = new IronTesseract();
using (var Input = new OcrInput()){
Input.AddImage("test-files/employmentapp.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput()){
Input.AddImage("test-files/employmentapp.png");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddImage("test-files/employmentapp.png")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
La sortie d'IronOCR correspond à l'image originale qui lui a été donnée. Le code est propre et facile à comprendre sans aucune technicité.
Nanonets permet également d'extraire du texte à partir d'images. Pour ce faire, un appel API est effectué avec la clé d'authentification, puis l'image est téléchargée sur le serveur Nanonets. L'outil d'OCR rapide renvoie ensuite le texte extrait en tant que réponse à l'application. Voici un exemple de code :
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/FullText");
client.Timeout = -1;
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddFile("file", "FILE_PATH");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/FullText");
client.Timeout = -1;
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddFile("file", "FILE_PATH");
RestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/FullText")
client.Timeout = -1
Dim request = New RestRequest(Method.Post.ToString())
request.AddHeader("Authorization", "Basic " & Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")))
request.AddFile("file", "FILE_PATH")
Dim response As RestResponse = client.Execute(request)
Console.WriteLine(response.Content)
Le résultat n'est pas parfait. L'image contenait des données structurées, dont seule une partie est correctement récupérée. Avec une autre image de texte simple, le résultat était satisfaisant. Notez que le modèle peut être entraîné pour obtenir des résultats plus précis.
IronOCR propose une fonctionnalité utile pour la lecture d'images qui inclut la capacité de détecter et de lire les codes-barres et les codes QR. Pour activer cette fonctionnalité, définissez la propriété de configuration ReadBarcodes
à true avant de traiter l'image. Une fois le traitement OCR terminé, il faut parcourir les résultats de l'OCR pour extraire la valeur de chaque code-barres détecté. Vous trouverez ci-dessous un exemple d'extrait de code pour la lecture de codes-barres avec IronOCR :
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput()) {
input.AddImage("test-files/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes){
Console.WriteLine(Barcode.Value);
}
}
var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput()) {
input.AddImage("test-files/Barcode.png");
var Result = Ocr.Read(input);
foreach (var Barcode in Result.Barcodes){
Console.WriteLine(Barcode.Value);
}
}
Dim Ocr = New IronTesseract()
Ocr.Configuration.ReadBarCodes = True
Using input = New OcrInput()
input.AddImage("test-files/Barcode.png")
Dim Result = Ocr.Read(input)
For Each Barcode In Result.Barcodes
Console.WriteLine(Barcode.Value)
Next Barcode
End Using
Les trois codes-barres de l'image d'entrée sont lus avec succès et leur texte caché est affiché.
L'API OCR de Nanonets permet de détecter les codes QR. Toutefois, cette fonctionnalité n'est disponible que dans le plan Entreprise, et vous devrez contacter le service des ventes pour l'utiliser. En outre, Nanonets vous permet de détecter des parties spécifiques de documents ou de reçus. Il offre également d'autres fonctionnalités telles que la comptabilité fournisseurs, le traitement des factures et l'automatisation de la comptabilité.
Lire des fichiers PDF est aussi simple que de lire des fichiers images avec IronOCR. Le seul changement nécessaire est d'utiliser la méthode AddPDF
au lieu de AddImage
dans le code pour lire les images. Le code est le suivant :
var Ocr = new IronTesseract();
using (var Input = new OcrInput()) {
Input.AddPdf("test-files/example.pdf");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
var Ocr = new IronTesseract();
using (var Input = new OcrInput()) {
Input.AddPdf("test-files/example.pdf");
var Result = Ocr.Read(Input);
Console.WriteLine(Result.Text);
}
Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddPdf("test-files/example.pdf")
Dim Result = Ocr.Read(Input)
Console.WriteLine(Result.Text)
End Using
Le texte extrait est dans le même format que le fichier PDF.
La lecture des données des fichiers PDF est également disponible dans l'API OCR de Nanonets. Le code est presque identique au code de détection du texte de l'image, à l'exception de l'URL utilisée dans la requête. Jetons un coup d'œil au code :
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddHeader("accept", "Multipart/form-data");
request.AddFile("file", "test-files/example.pdf");
RestResponse response = client.Execute(request);
Console
var client = new RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false");
var request = new RestRequest(Method.Post.ToString());
request.AddHeader("authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")));
request.AddHeader("accept", "Multipart/form-data");
request.AddFile("file", "test-files/example.pdf");
RestResponse response = client.Execute(request);
Console
Dim client = New RestClient("https://app.nanonets.com/api/v2/OCR/Model/{{model_id}}/LabelFile/?async=false")
Dim request = New RestRequest(Method.Post.ToString())
request.AddHeader("authorization", "Basic " & Convert.ToBase64String(Encoding.Default.GetBytes("REPLACE_YOUR_API_KEY:")))
request.AddHeader("accept", "Multipart/form-data")
request.AddFile("file", "test-files/example.pdf")
Dim response As RestResponse = client.Execute(request)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Console
Dans le code ci-dessus, remplacez model_id par l'identifiant de votre modèle d'OCR. Remplacez également la clé API par votre propre clé API. Remplacez ensuite le chemin d'accès au fichier PDF par le chemin d'accès à votre propre fichier.
Le résultat est similaire à celui d'IronOCR, mais les espaces supplémentaires et les nouvelles lignes sont inclus dans le résultat de Nanonets OCR.
IronOCR est gratuit à des fins de développement, mais il doit faire l'objet d'une licence pour une utilisation commerciale. Il propose également une version d'essai gratuite pour tester tout son potentiel en fonction de vos besoins. La version allégée commence à $749 avec une garantie de remboursement de 30 jours. IronOCR offre un an d'assistance et de mises à jour gratuites, puis 399 dollars par an. Toutes les licences sont perpétuelles, ce qui signifie qu'il n'y a qu'un seul achat et qu'il n'y a pas de frais cachés. Vous pouvez également opter pour une couverture de redistribution libre de droits pour les produits SaaS et OEM pour un achat unique de 1 999 $. Pour plus d'informations sur les paquets de licences et les plans tarifaires, veuillez consulter les sites suivantslien.
Nanonets OCR API propose trois formules différentes. Vous pouvez vous inscrire gratuitement à son programme de démarrage. Les 500 premières pages sont gratuites, après quoi 0,3 $ par page est facturé. Vous ne payez que ce que vous utilisez. Pour plus d'informations sur la tarification, vous pouvez consulter le site suivantlien.
IronOCR offre aux développeurs C# l'API avancée de Tesseract disponible sur la plupart des plateformes. Il peut être déployé sur Windows, Linux, Mac, Azure, AWS et Lambda, et prend en charge les projets du Framework .NET ainsi que .NET Standard et .NET Core. IronOCR permet également de lire les codes-barres dans les scans OCR, et même d'exporter l'OCR sous forme de HTML et de PDF consultables. Pour plus d'informations sur C# Tesseract OCR, cliquez surici.
L'API OCR de Nanonets offre une variété d'outils d'OCR. Il fournit des solutions d'OCR prêtes à l'emploi pour de nombreux types de documents tels que les factures, les reçus, les factures, les formulaires et les cartes d'identité afin d'automatiser la capture des données. Aucune configuration de modèle n'est nécessaire, il n'y a pas de frais cachés, et il permet un gain de temps de 90 % et une productivité multipliée par 10 grâce à l'API OCR de Nanonets.
Les licences IronOCR sont basées sur les développeurs, ce qui signifie que vous devez toujours acheter une licence en fonction du nombre de développeurs qui utiliseront le produit. Les plans tarifaires de Nanonets sont basés sur le nombre d'images ou de pages PDF pour extraire les informations et analyser les données. Les plans Pro et Enterprise sont facturés sur une base mensuelle par modèle, et les prix augmentent lorsque le nombre de modèles et de pages augmente par rapport aux licences IronOCR. De plus, les licences IronOCR sont un achat unique et peuvent être utilisées à vie, et elles prennent en charge la distribution OEM et SaaS.
En comparaison générale, les deux API offrent des fonctionnalités d'OCR basées sur l'IA et le ML. IronOCR a un léger avantage sur Nanonets car il peut être utilisé hors ligne et fournit des résultats plus fiables même pour les documents non structurés. IronOCR offre la possibilité d'utiliser des données formées sur mesure avec une intégration rapide pour des résultats plus précis. Nanonets OCR permet d'entraîner le modèle sur la base de champs clés, et il peut être difficile à détecter s'il n'est pas entraîné correctement. En outre, IronOCR offre une assistance multilingue et prend en charge plus de 127 langues internationales.
Désormais, vous pouvez obtenir cinq produits Iron pour le prix de deux dans le cadre de la Suite Iron complète. Visitez ce sitelien pour en savoir plus.
L'IronOCR fournit également uneessai gratuit avec une garantie de remboursement. Vous pouvez télécharger IronOCR à partir de ce lienlien.
9 produits de l'API .NET pour vos documents de bureau