Reconnaissance de texte OCR avec .NET MAUI et le logiciel OCR IronOCR
Introduction
Microsoft a lancé .NET MAUI (Multi-platform App UI), un framework permettant de créer des applications multiplateformes avec le framework .NET. Il vous permet d'écrire du code qui fonctionne sur Android, iOS et Windows en utilisant la même base de code, ce qui vous fait gagner du temps, des ressources et des efforts. .NET MAUI est un logiciel libre. Vous pouvez obtenir le code source du projet .NET MAUI avec des exemples sur GitHub .
Dans ce guide pratique, nous apprendrons à créer une application de reconnaissance de texte OCR sur .NET MAUI en utilisant IronOCR, logiciel OCR performant, avec des exemples concrets.
Comment effectuer une reconnaissance optique de caractères (OCR) dans .NET MAUI
- Téléchargez la bibliothèque C# pour effectuer la reconnaissance optique de caractères (OCR) dans .NET MAUI.
- Configurer l'interface utilisateur du projet MAUI
- Transmettez le chemin complet de l'image à l'aide de la classe **FilePicker.**
- Appelez la méthode `Read` pour effectuer la reconnaissance optique de caractères (OCR) sur l'image.
- Accédez au texte extrait en utilisant la propriété **Text** et affichez-le.
IronOCR : bibliothèque OCR .NET
IronOCR est une bibliothèque NuGet .NET OCR qui permet aux développeurs d'intégrer facilement la fonctionnalité de reconnaissance optique de caractères (OCR) dans leurs projets. Grâce à IronOCR, les documents PDF peuvent être numérisés et convertis en texte/données consultables et modifiables sans aucune perte de qualité. Cela permet aux utilisateurs de trouver facilement les informations dont ils ont besoin dans les documents PDF et d'apporter des modifications ou des corrections si nécessaire.
IronOCR est la version la plus avancée des binaires Tesseract disponible pour toutes les plateformes. Il offre une vitesse et une précision accrues, ainsi qu'une DLL/API native qui prend en charge toutes les versions de Tesseract (de Tesseract 3 à Tesseract 5) avec une installation/un téléchargement facile.
IronOCR offre une prise en charge linguistique étendue, avec 125 langues internationales disponibles pour les utilisateurs. La langue anglaise est installée par défaut avec l'outil/DLL. Toutefois, vous pouvez facilement ajouter d'autres langues en les installant via NuGet ou en téléchargeant des DLL.
Comparaison avec Tesseract
IronOCR est spécialement conçu pour les développeurs C# et s'intègre parfaitement aux applications .NET. À l'inverse, Tesseract est une bibliothèque OCR générique qui exige des développeurs qu'ils écrivent leurs propres wrappers pour l'utiliser avec C#. De plus, grâce à ses algorithmes d'intelligence artificielle innovants, IronOCR offre une précision et une vitesse supérieures à celles des autres bibliothèques.
IronOCR est fourni avec une documentation complète et un support technique, ce qui permet même aux développeurs novices de le prendre en main rapidement.
IronOCR est bien plus précis que Tesseract. En réalité, son taux de précision dépasse 99 %, tandis que celui de Tesseract n'est que d'environ 70,2 % à 92,9 %. Pour plus d'informations et d'assistance concernant la comparaison entre IronOCR et Tesseract, consultez cette vidéo YouTube .
Étapes pour créer une application OCR MAUI
Suivez ces étapes pour créer une application OCR dans le framework .NET MAUI en utilisant IronOCR.
Prérequis
Pour créer une application OCR en .NET MAUI, voici les prérequis :
- Visual Studio 2022 (Dernière version)
- .NET 6 ou 7
- Les packages MAUI installés dans Visual Studio
- Un projet .NET MAUI exécuté dans Visual Studio
Installer IronOCR
La première étape consiste à installer la bibliothèque IronOCR à l'aide de la console du gestionnaire de packages NuGet. Ouvrez la console du gestionnaire de packages NuGet en cliquant avec le bouton droit sur l'explorateur de solutions et en exécutant la commande suivante pour installer la bibliothèque IronOCR :
Install-Package IronOcr
Conception de l'interface utilisateur
Dans cette section, nous allons concevoir l'interface utilisateur de l'application. Ouvrez le fichier MainPage.xaml .
MainPage.xaml
Nous avons prévu un bouton qui nous permettra de sélectionner l'image ou le document PDF pour la reconnaissance optique de caractères (OCR). La propriété Clicked du bouton est configurée pour exécuter la fonction IOCR que nous définirons dans la section suivante.
<Button
x:Name="OCR"
Text="Click to OCR"
Clicked="IOCR"
HorizontalOptions="Center" />
<Button
x:Name="OCR"
Text="Click to OCR"
Clicked="IOCR"
HorizontalOptions="Center" />
Ici, nous créons un élément Image avec le nom OCRImage. Cette zone d'image affichera le fichier sélectionné.
<Image
x:Name="OCRImage"
SemanticProperties.Description="Selected Image"
HeightRequest="300"
HorizontalOptions="Center" />
<Image
x:Name="OCRImage"
SemanticProperties.Description="Selected Image"
HeightRequest="300"
HorizontalOptions="Center" />
Ensuite, nous créons un contrôle Editor. Il servira à afficher le texte extrait de l'image ou du document PDF.
<Editor
x:Name="outputText"
HorizontalOptions="Center"
WidthRequest="600"
HeightRequest="300" />
<Editor
x:Name="outputText"
HorizontalOptions="Center"
WidthRequest="600"
HeightRequest="300" />
Voici le balisage XAML complet de l'interface utilisateur.
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IronOCR_MAUI_Test.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Button
x:Name="OCR"
Text="Click to OCR"
Clicked="IOCR"
HorizontalOptions="Center" />
<Image
x:Name="OCRImage"
SemanticProperties.Description="Selected Image"
HeightRequest="300"
HorizontalOptions="Center" />
<Editor
x:Name="outputText"
HorizontalOptions="Center"
WidthRequest="600"
HeightRequest="300" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="IronOCR_MAUI_Test.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Button
x:Name="OCR"
Text="Click to OCR"
Clicked="IOCR"
HorizontalOptions="Center" />
<Image
x:Name="OCRImage"
SemanticProperties.Description="Selected Image"
HeightRequest="300"
HorizontalOptions="Center" />
<Editor
x:Name="outputText"
HorizontalOptions="Center"
WidthRequest="600"
HeightRequest="300" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Il est maintenant temps d'écrire le code pour la fonctionnalité OCR.
Code pour la reconnaissance optique de caractères (OCR) utilisant IronOCR
Ouvrez le fichier de classe MainPage.xaml.cs et écrivez la fonction suivante :
MainPage.xaml.cs
private async void IOCR(object sender, EventArgs e)
{
// Prompt user to select an image using FilePicker
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
// Get the full path of the selected image
var path = images.FullPath.ToString();
// Display the selected image in the Image control
OCRImage.Source = path;
// Create an IronTesseract object to perform OCR
var ocr = new IronTesseract();
// Perform OCR and extract text from the selected image
using (var input = new OcrInput())
{
input.AddImage(path); // Add image to the OCR input
OcrResult result = ocr.Read(input); // Perform OCR
string text = result.Text; // Extract text
// Display extracted text in the Editor control
outputText.Text = text;
}
}
private async void IOCR(object sender, EventArgs e)
{
// Prompt user to select an image using FilePicker
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
// Get the full path of the selected image
var path = images.FullPath.ToString();
// Display the selected image in the Image control
OCRImage.Source = path;
// Create an IronTesseract object to perform OCR
var ocr = new IronTesseract();
// Perform OCR and extract text from the selected image
using (var input = new OcrInput())
{
input.AddImage(path); // Add image to the OCR input
OcrResult result = ocr.Read(input); // Perform OCR
string text = result.Text; // Extract text
// Display extracted text in the Editor control
outputText.Text = text;
}
}
Private Async Sub IOCR(ByVal sender As Object, ByVal e As EventArgs)
' Prompt user to select an image using FilePicker
Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
.PickerTitle = "Pick image",
.FileTypes = FilePickerFileType.Images
})
' Get the full path of the selected image
Dim path = images.FullPath.ToString()
' Display the selected image in the Image control
OCRImage.Source = path
' Create an IronTesseract object to perform OCR
Dim ocr = New IronTesseract()
' Perform OCR and extract text from the selected image
Using input = New OcrInput()
input.AddImage(path) ' Add image to the OCR input
Dim result As OcrResult = ocr.Read(input) ' Perform OCR
Dim text As String = result.Text ' Extract text
' Display extracted text in the Editor control
outputText.Text = text
End Using
End Sub
Analysons le code ci-dessus :
Le code utilise FilePicker pour permettre à l'utilisateur de sélectionner un fichier image sur son appareil. Le sélecteur de fichiers est configuré pour n'accepter que les images.
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
.PickerTitle = "Pick image",
.FileTypes = FilePickerFileType.Images
})
Dim path = images.FullPath.ToString()
- Le contrôle
Imageest configuré pour afficher l'image sélectionnée en utilisant son chemin de fichier.
OCRImage.Source = path;
OCRImage.Source = path;
OCRImage.Source = path
- Un objet
IronTesseractest créé pour effectuer la reconnaissance optique de caractères (OCR). L'image sélectionnée est ajoutée à un objetOcrInput. La méthodeReadest appelée pour extraire le texte de l'image, qui est ensuite affiché dans le contrôleEditor.
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
Dim ocr = New IronTesseract()
Using input = New OcrInput()
input.AddImage(path)
Dim result As OcrResult = ocr.Read(input)
Dim text As String = result.Text
outputText.Text = text
End Using
Sortie
Une fois le projet exécuté, l'interface utilisateur ci-dessous s'affiche. En cliquant sur le bouton, vous serez invité à sélectionner une image ou un fichier PDF depuis n'importe quel emplacement.
Sortie OCR
Après la sélection de l'image, IronOCR la traite et affiche les mots reconnus dans l'éditeur. Vous pouvez copier le texte à partir du contrôle Éditeur.
Image OCR
Les résultats montrent qu'IronOCR excelle dans le traitement d'images complexes comportant des motifs, et fournit des résultats précis. IronOCR est capable de détecter de petits détails et de sélectionner les lettres exactes nécessaires en utilisant ses modèles pré-entraînés.
<{i:(Running the project in release mode with debugging attached might cause issues. Dans ce cas, vous pouvez publier le projet en tant qu'application .NET MAUI non empaquetée, comme indiqué dans le lien ci-dessous, afin de garantir le bon fonctionnement de l'application.
Conclusion
Pour en savoir plus, consultez ce tutoriel qui fournit des informations supplémentaires sur la façon d'utiliser IronOCR pour lire du texte à partir d'images .
IronOCR est gratuit à des fins de développement. Vous pouvez l'acheter à un prix très bas à partir de seulement $799. Consultez le plan tarifaire ici .
Questions Fréquemment Posées
À quoi sert .NET MAUI dans le développement d'applications ?
.NET MAUI (Multi-platform App UI) est utilisé pour créer des applications multiplateformes avec une seule base de code, permettant aux développeurs de cibler les plates-formes Android, iOS et Windows.
Comment les développeurs peuvent-ils effectuer de l'OCR dans une application .NET MAUI ?
Les développeurs peuvent effectuer de l'OCR dans une application .NET MAUI en intégrant IronOCR, une bibliothèque OCR .NET. IronOCR permet la conversion d’images et de PDF en texte consultable et modifiable.
Quelles sont les étapes pour configurer IronOCR dans un projet .NET MAUI ?
Pour configurer IronOCR dans un projet .NET MAUI, installez la bibliothèque IronOCR via NuGet, configurez votre frontend dans Visual Studio et implémentez le code C# nécessaire pour effectuer l'OCR en utilisant l'objet IronTesseract.
Quelle est la précision d'IronOCR lors du traitement du texte ?
IronOCR offre un taux de précision élevé de plus de 99 % lors du traitement du texte, ce qui le rend plus fiable que d'autres solutions OCR comme Tesseract grâce à ses algorithmes d'intelligence artificielle avancés.
IronOCR peut-il gérer plusieurs langues ?
Oui, IronOCR prend en charge 125 langues internationales, l'anglais étant installé par défaut. Des langues supplémentaires peuvent être ajoutées via NuGet ou en téléchargeant des DLL de langues spécifiques.
Comment sélectionnez-vous un fichier image pour l'OCR dans une application .NET MAUI ?
Dans une application .NET MAUI, vous pouvez sélectionner un fichier image pour l'OCR à l'aide de la classe FilePicker, qui permet aux utilisateurs de choisir des images sur leur appareil pour l'extraction de texte.
Quel est le rôle du contrôle Editor dans l'affichage des résultats OCR ?
Le contrôle Editor dans une application .NET MAUI est utilisé pour afficher le texte extrait des images traitées par IronOCR, fournissant une interface aux utilisateurs pour visualiser les résultats OCR.
Y a-t-il un coût associé à l'utilisation de IronOCR pour le développement ?
IronOCR est gratuit à utiliser pour les besoins de développement. Cependant, une licence est requise pour une utilisation en production, qui peut être obtenue à un prix compétitif.
Qu'est-ce qui fait d'IronOCR un choix privilégié pour les développeurs C# ?
IronOCR est un choix préféré pour les développeurs C# en raison de son intégration transparente avec les applications .NET, de sa haute précision, de sa rapidité et de sa prise en charge de plusieurs langues, ce qui le rend supérieur à de nombreuses autres bibliothèques OCR.
Comment les développeurs peuvent-ils améliorer la fonctionnalité de leur application OCR .NET MAUI ?
Les développeurs peuvent améliorer leur application OCR .NET MAUI en explorant les ressources supplémentaires fournies par IronOCR, en utilisant sa documentation complète et son support pour implémenter des fonctionnalités avancées.

