Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
La reconnaissance optique de caractères (OCR) est une technologie utilisée pour transformer des documents de différentes natures en données modifiables et consultables. Il convertit les images numérisées, les fichiers PDF et les photos d'appareil photo numérique en données pouvant être modifiées et recherchées. Cette technologie est largement utilisée pour convertir les documents imprimés en format numérique afin de les éditer, rechercher et stocker, réduisant ainsi l'espace physique occupé par les documents. OCRjoue un rôle majeur dans l'automatisation de la saisie de données, ce qui permet ainsi aux entreprises et aux organisations de gagner beaucoup de temps en réduisant la main-d'œuvre utilisée par les ressources humaines.
C'est un processus qui utilise des techniques avancées d'apprentissage automatique et de reconnaissance des formes pour extraire précisément du texte à partir d'images. Les dernières avancées concernant l'OCR ont amélioré sa précision, soutenant ainsi davantage de langues et de scripts complexes tels que le script arabe. Très nécessaire dans la finance, la santé, la législation et l'éducation, l'OCR est apparu comme un outil indispensable là où le traitement rapide de plusieurs documents imprimés était une condition préalable. Cet article utilisera Tesseract pour effectuer l'OCR d'images dans plusieurs langues.
Tout d'abord, installez le package NuGet IronOCR/Tesseract dans votre projet .NET.
Une instance de classe IronTesseract sera créée, initialisant ainsi le moteur OCR.
Il est conçu de manière à ce que la propriété de langue supporte plus d'une langue.
Spécifiez le chemin d'accès au fichier image que vous souhaitez traiter, puis créez un objet OcrInput.
Maintenant, effectuez la reconnaissance optique des caractères (OCR) sur l'image d'entrée en utilisant la fonction Read de l'instance IronTesseract.
Tesseract est un moteur de reconnaissance optique de caractères open source développé par Hewlett-Packard et ensuite maintenu par Google. Il est réputé pour sa grande précision et son adaptabilité, ce qui en fait l'un des OCR les plus remarquables. Tesseract prend en charge la détection de script, reconnaît le texte dans de nombreuses langues et peut traiter plusieurs langues ; Par conséquent, il est généralement utilisé pour les projets nécessitant des documents multilingues et le support.
Le moteur OCR Tesseract fonctionne sur les informations contenues dans chaque pixel de l'image, suivant des motifs représentant des caractères, des mots et des phrases qui sont finalement convertis en texte lisible par machine. Les nombreux types de fichiers image qu'il prend en charge, tels que TIFF, JPEG et PNG, permettent à Tesseract de produire du texte dans des formats comme le texte brut, HTML et PDF consultable.
L'un des avantages significatifs de Tesseract est qu'il peut être entraîné à être sensible à des polices particulières ou à de nouvelles langues ajoutées. Il est également fréquemment utilisé dans diverses applications, allant de l'extraction de texte simple à des tâches complexes telles que la numérisation de documents historiques, le traitement de factures, ou même des logiciels d'accessibilité permettant la lecture pour les malvoyants.
Ouvrez le programme Visual Studio. À l'ouverture du programme, allez dans le "menu fichier." Sous le "menu fichier," il y a l'option "nouveau projet." Sous "nouveau projet," cliquez sur "Application Console." Dans cet article, nous allons créer des documents PDF à l'aide d'un programme console.
Entrez le nom de votre projet et l'emplacement du fichier dans les champs de texte fournis. Ensuite, comme indiqué dans l'image ci-dessous, cliquez sur le bouton Créer et sélectionnez le Framework .NET dont vous avez besoin.
Maintenant que la version de l'application a été sélectionnée, le projet Visual Studio créera sa structure. Si vous avez choisi les versions console, Windows ou web, cela ouvrira le fichier programme .cs pour ajouter du code et créer/exécuter l'application.
La première étape consiste à télécharger et installer le logiciel Tesseract OCR sur votre ordinateur. Voici le dépôt officiel GitHub de Tesseract avec l'installateur de Tesseract : https://github.com/tesseract-ocr/tesseract.
Il serait préférable d'installer Tesseract OCR sur votre ordinateur en suivant les instructions de configuration spécifiques à votre système d'exploitation, que ce soit Windows, macOS ou Linux. Une fois installé, ajoutez le package Tesseract.NET à votre projet C# à l'aide du Gestionnaire de packages NuGet de Visual Studio.
Ouvrez le gestionnaire de packages NuGet dans votre projet Visual Studio à partir de Outils -> Gestionnaire de packages NuGet -> Gérer les packages NuGet pour la solution. Ensuite, recherchez "Tesseract" dans le gestionnaire de packages NuGet pour obtenir soit le package "Tesseract" soit "Tesseract.NET". Sélectionnez ce package et cliquez sur le bouton Installer pour l'installer dans votre projet.
Vous devez configurer Tesseract dans votre projet C# pour spécifier l'emplacement de l'exécutable Tesseract OCR et des fichiers de données linguistiques après avoir installé le wrapper Tesseract.NET. En voici un exemple :
using System;
using System.Drawing;
using Tesseract;
class Program
{
static void Main()
{
// Set the path to the Tesseract data files (traineddata files)
string tessDataPath = @"./tessdata"; // Ensure this directory contains the language data files
// Load the image
string imagePath = @"path_to_your_image.png";
using (var img = Pix.LoadFromFile(imagePath))
{
// Add tesseract languages into engine
using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
{
using (var page = engine.Process(img))
{
// Extract the text
string text = page.GetText();
Console.WriteLine("Recognized Text:");
Console.WriteLine(text);
}
}
}
}
}
using System;
using System.Drawing;
using Tesseract;
class Program
{
static void Main()
{
// Set the path to the Tesseract data files (traineddata files)
string tessDataPath = @"./tessdata"; // Ensure this directory contains the language data files
// Load the image
string imagePath = @"path_to_your_image.png";
using (var img = Pix.LoadFromFile(imagePath))
{
// Add tesseract languages into engine
using (var engine = new TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default))
{
using (var page = engine.Process(img))
{
// Extract the text
string text = page.GetText();
Console.WriteLine("Recognized Text:");
Console.WriteLine(text);
}
}
}
}
}
Imports System
Imports System.Drawing
Imports Tesseract
Friend Class Program
Shared Sub Main()
' Set the path to the Tesseract data files (traineddata files)
Dim tessDataPath As String = "./tessdata" ' Ensure this directory contains the language data files
' Load the image
Dim imagePath As String = "path_to_your_image.png"
Using img = Pix.LoadFromFile(imagePath)
' Add tesseract languages into engine
Using engine = New TesseractEngine(tessDataPath, "eng+spa+fra", EngineMode.Default)
Using page = engine.Process(img)
' Extract the text
Dim text As String = page.GetText()
Console.WriteLine("Recognized Text:")
Console.WriteLine(text)
End Using
End Using
End Using
End Sub
End Class
Le code ci-dessus explique comment Tesseract OCR peut détecter et extraire du texte à partir d'images contenant plusieurs langues. Il définit initialement le chemin vers les fichiers de données linguistiques Tesseract. Les fichiers .traineddata nécessaires pour chaque langue correspondante, tels que l'anglais, l'espagnol et le français, doivent être présents dans le chemin.
Il charge une image spécifiée par imagePath dans la méthode Pix.LoadFromFile. Plus précisément, on s'attendrait à une image avec du texte en anglais, espagnol et français. Ensuite, une instance de TesseractEngine sera initialisée avec les chemins vers les fichiers de données linguistiques et les langues d'intérêt, "eng+spa+fra," pour reconnaître le texte. Le moteur fonctionnera en mode par défaut.
L'image sera ensuite passée dans la méthode Process de la classe moteur, où elle sera analysée, le contenu textuel extrait et stocké dans la variable text. Enfin, le texte extrait sera imprimé dans la console, créant une visualisation du fonctionnement de l'OCR.
IronOCR est une bibliothèque OCR propriétaire axée sur Dot NET. Il ajoute des capacités OCR aux applications .NET et permet l'extraction de texte à partir d'images, de documents numérisés, de PDFs et de tous les autres supports visuels. Propulsé par le moteur Tesseract incroyablement performant pour la reconnaissance de texte de pointe, IronOCR comprend également plusieurs fonctionnalités supplémentaires qui le rendent adapté à l'utilisation dans des applications d'entreprise.
Cela rend IronOCR extrêmement performant—son incroyable support linguistique—plus de 120 langues avec prise en charge de la détection automatique de langue et traitement de documents contenant plusieurs langues simultanément. Cela rend IronOCR très polyvalent et déployable à l'échelle mondiale, là où le traitement de documents multilingues est extrêmement crucial.
D'autre part, IronOCR met toujours l'accent sur la simplicité d'utilisation et d'intégration. Son API extrêmement facile à utiliser est complétée par une documentation détaillée et un ensemble de projets d'exemples qui aideront tout développeur à se lancer rapidement. Il prend en charge une large gamme de formats d'image et de documents PDF. Les fonctionnalités avancées intégrées de prétraitement d'image, de réduction de bruit et de correction d'erreurs améliorent la précision et la performance de l'OCR.
Vous pouvez installer les packages directement dans votre solution en utilisant l'outil de gestion de packages NuGet de Visual Studio. L'instantané suivant montre comment ouvrir le Gestionnaire de Packages NuGet.
Il possède une boîte de recherche intégrée, qui doit afficher une liste de packages depuis le site Web NuGet. Comme on peut le voir sur la capture d'écran ci-dessous, nous allons rechercher le gestionnaire de packages avec la phrase IronOCR :
Le graphique ci-dessus pourrait offrir une liste de termes de recherche valides. Nous devons sélectionner ce qui est nécessaire pour installer le package de solution.
De plus, installez les packs linguistiques Tesseract requis un par un, comme celui ci-dessous pour cet exemple.
Dans cet exemple, nous utiliserons les codes de langue espagnol, français et anglais. L'anglais est le pack linguistique par défaut, il ne nécessite donc pas d'installation.
Installez Spanish à partir du package NuGet.
L'exemple suivant démontre comment reconnaître le texte en plusieurs langues à partir d'une image en utilisant C# et le moteur IronOCR et Tesseract.
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize IronTesseract engine
var Ocr = new IronTesseract();
// Add multiple languages
Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;
// Path to the image
var inputFile = @"path\to\your\image.png";
// Read the image and perform OCR
using (var input = new OcrInput(inputFile))
{
// Perform OCR
var result = Ocr.Read(input);
// Display the result
Console.WriteLine("Text:");
Console.WriteLine(result.Text);
}
}
}
using IronOcr;
class Program
{
static void Main(string[] args)
{
// Initialize IronTesseract engine
var Ocr = new IronTesseract();
// Add multiple languages
Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French;
// Path to the image
var inputFile = @"path\to\your\image.png";
// Read the image and perform OCR
using (var input = new OcrInput(inputFile))
{
// Perform OCR
var result = Ocr.Read(input);
// Display the result
Console.WriteLine("Text:");
Console.WriteLine(result.Text);
}
}
}
Imports IronOcr
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Initialize IronTesseract engine
Dim Ocr = New IronTesseract()
' Add multiple languages
Ocr.Language = OcrLanguage.English + OcrLanguage.Spanish + OcrLanguage.French
' Path to the image
Dim inputFile = "path\to\your\image.png"
' Read the image and perform OCR
Using input = New OcrInput(inputFile)
' Perform OCR
Dim result = Ocr.Read(input)
' Display the result
Console.WriteLine("Text:")
Console.WriteLine(result.Text)
End Using
End Sub
End Class
Le programme C# ci-dessus est un exemple d'utilisation de la bibliothèque IronOCR pour effectuer de la reconnaissance optique de caractères sur une image contenant des caractères anglais, espagnols et français. Cet exemple commence par l'importation de l'espace de noms requis par IronOCR, suivi par la déclaration d'une classe nommée program avec une méthode Main, qui est le point d'entrée de l'application.
Tout d'abord, dans la méthode Main, une instance de la classe IronTesseract est instanciée. Cette instance sera ensuite assignée à la variable Ocr. Ensuite, lePropriété de languede cette instance est configurée pour inclure l'anglais, l'espagnol et le français en combinant OcrLanguage.English, OcrLanguage.Spanish et OcrLanguage.French. Tout cela garantira que le moteur OCR puisse reconnaître et traiter le texte dans l'une de ces trois langues.
Tout d'abord, définissez le chemin vers le fichier image d'entrée en utilisant la variable inputFile. Sur la ligne suivante, chargez cette image dans une instruction de la classe OcrInput pour une gestion et une élimination efficaces des ressources sonores. Enfin, appelez la méthode Read de l'instance IronTesseract avec l'objet d'entrée et effectuez le OCR sur l'image.
Enfin, le résultat est vérifié pour le texte reconnu et imprimé dans la console. Ces instructions Console.WriteLine afficheront le texte détecté afin que l'utilisateur puisse voir les résultats de l'OCR. Le programme illustre une méthode efficace pour utiliser la capacité multilingue d'IronOCR afin d'extraire le texte d'images de mots dans différentes langues.
Il est assez convivial par rapport à Tesseract et présente certains avantages par rapport à ce dernier. Tout d'abord, IronOCR offre un excellent support linguistique. Le moteur prend en charge 127 langues dès sa sortie de l'emballage, tandis que pour Tesseract, il y a des rapports indiquant qu'il prend en charge environ 100 langues. cependant, souvent, cela nécessite des configurations complexes et une formation supplémentaire pour des performances optimales. De plus, IronOCR est plus facile à utiliser, car il s'intègre facilement dans les applications .NET et complète la documentation.
Beaucoup plus facile à utiliser que Tesseract, IronOCR a une courbe d'apprentissage moins abrupte et nécessite moins de configuration technique. Comme si cela ne suffisait pas, IronOCR est livré avec un prétraitement d'image avancé et des mises à jour régulières de ses fonctionnalités pour une meilleure précision et fiabilité avec des types de documents complexes et variés. IronOCR est un bien meilleur choix pour tout développeur cherchant une solution OCR solide, polyvalente et facile à appliquer.
Bien que Tesseract et IronOCR représentent des technologies OCR très robustes, chacune a des capacités et des forces uniques. Encore une fois, étant donné qu'il est open-source, largement utilisé et en position de leader en ce qui concerne la disponibilité et la flexibilité des langues, Tesseract se distingue. C'est fiable pour quiconque cherche une solution gratuite avec des communautés actives et une amélioration continue.
En revanche, IronOCR est une bibliothèque propriétaire du .NET Framework qui a amélioré l'expérience utilisateur grâce à une intégration plus facile et un excellent support pour la plupart des types de fichiers image. Il se distingue également par une performance exceptionnelle en reconnaissance de texte, notamment pour le traitement de contenu d'images de faible qualité. IronOCR prend en charge de nombreuses langues et offre des fonctionnalités supplémentaires qui le rendent plus convivial et complet pour le développeur recherchant la simplicité et un support complet.
Une édition de développement économique est disponible pour IronOCR. Lorsque vous achetez le package IronOCR, vous recevez une licence à vie. Étant donné que les offres d'IronOCR commencent à 749 $, un coût unique pour plusieurs systèmes, cela offre un excellent rapport qualité-prix. Il offre une assistance en ligne 24h/24 et 7j/7 aux utilisateurs licenciés d'IronOCR. Veuillez vous référer à laIronOCRsite web pour en savoir plus sur les frais; pour plus d'informations sur les produits d'Iron Software, consultezici.
9 produits de l'API .NET pour vos documents de bureau