.NET MAUI OCR à l'aide d'IronOCR for .NET
Introduction
Microsoft a publié .NET MAUI (Multi-platform App UI), qui est un cadre pour construire des applications multiplateformes avec le .NET Framework. 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 permet d'économiser 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](https://github.com/dotnet/maui" target="_blank" rel="nofollow noreferrer noopener).
Dans ce guide pratique, nous allons apprendre à créer une application de traitement OCR sur .NET MAUI en utilisant la bibliothèque IronOCR avec des exemples.
Comment effectuer l'OCR dans .NET Maui
- Téléchargez la bibliothèque C# pour effectuer l'OCR dans .NET Maui
- Configurer le frontend du projet Maui
- Passez le chemin complet de l'image en utilisant la classe FilePicker
- Invoquez la méthode
Read
pour effectuer l'OCR sur l'image - Accédez au texte extrait en accédant à la propriété Texte et affichez-le
IronOCR : bibliothèque OCR .NET
IronOCR est une bibliothèque NuGet OCR pour .NET qui permet aux développeurs d'intégrer facilement la fonctionnalité de reconnaissance optique de caractères (OCR) dans leurs projets. IronOCR permet de numériser des documents PDF et de les convertir en texte/données consultables et modifiables sans perte de qualité des données. Les utilisateurs peuvent ainsi trouver facilement les informations dont ils ont besoin dans les documents PDF et apporter des modifications ou des corrections si nécessaire.
IronOCR est la version la plus avancée des binaires Tesseract disponibles pour toutes les plateformes. Il offre une vitesse, une précision accrues, ainsi qu'un DLL/API natif qui prend en charge toutes les versions de Tesseract (de Tesseract 3 à Tesseract 5) avec une installation/téléchargement facile.
La prise en charge des langues par IronOCR est étendue, avec 125 langues internationales disponibles pour les utilisateurs. La langue anglaise est installée par défaut avec l'outil/DLL. Cependant, 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. En revanche, 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#. En outre, IronOCR offre une précision et une rapidité supérieures à celles des autres bibliothèques, grâce à ses algorithmes innovants d'intelligence artificielle.
IronOCR est accompagné d'une documentation complète et d'une assistance technique, ce qui permet aux développeurs novices d'être rapidement opérationnels.
IronOCR est beaucoup plus précis que Tesseract. En effet, son taux de précision est supérieur à 99 %, alors que celui de Tesseract n'est que de l'ordre de 70,2 % à 92,9 %. Obtenez plus d'informations et de support sur la comparaison entre IronOCR et Tesseract dans la [vidéo YouTube](https://www.youtube.com/watch?v=2QTEb6x8NJ4" target="_blank" rel="nofollow noopener noreferrer).
Étapes de la création d'une application MAUI OCR
Suivez les étapes suivantes pour créer une application OCR dans le Framework .NET MAUI à l'aide d'IronOCR.
Conditions préalables
Pour créer une application OCR dans .NET MAUI, il y a quelques conditions préalables.
Visual Studio 2022 (Dernière version)
.NET 6 ou 7
Paquets MAUI installés dans Visual Studio
- Un projet MAUI .NET exécuté dans Visual Studio
Installer IronOCR
La première étape consiste à installer la bibliothèque IronOCR à l'aide de la console de gestion des paquets NuGet. Ouvrez la console NuGet Packages en faisant un clic droit sur l'explorateur de solutions et en écrivant la commande suivante pour installer la bibliothèque IronOCR.
Install-Package IronOcr
Conception frontale
Nous allons concevoir l'interface de l'application dans cette section. Ouvrez le fichier MainPage.xaml.

MainPage.xaml
Nous désignons un bouton qui nous aidera à sélectionner l'image ou le document PDF pour l'OCR. La propriété clicked
du bouton est définie pour exécuter la fonction IOCR
. Nous définirons cette fonction dans la section suivante.
<Button
x:Name="OCR"
Text="Click to OCR"
Clicked="IOCR"
HorizontalOptions="Center" />
Nous créons ici une boîte Image
nommée OCRImage
. Cette boîte à images permet d'afficher le fichier sélectionné.
<Image
x:Name="OCRImage"
SemanticProperties.Description="Selected Image"
HeightRequest="300"
HorizontalOptions="Center" />
Ensuite, nous créons un contrôle Editor
. Il sera utilisé pour afficher le texte extrait de l'image ou du document PDF.
<Editor
x:Name="outputText"
HorizontalOptions="Center"
WidthRequest="600"
HeightRequest="300"
/>
Voici l'interface utilisateur XAML terminée.
<?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 l'OCR avec IronOCR
Ouvrez le fichier de classe "MainPage.xaml.cs" et écrivez-y la fonction suivante.

MainPage.xaml.cs
private async void IOCR(object sender, EventArgs e)
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
OCRImage.Source = path;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
}
private async void IOCR(object sender, EventArgs e)
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var path = images.FullPath.ToString();
OCRImage.Source = path;
var ocr = new IronTesseract();
using (var input = new OcrInput())
{
input.AddImage(path);
OcrResult result = ocr.Read(input);
string text = result.Text;
outputText.Text = text;
}
}
Private Async Sub IOCR(ByVal sender As Object, ByVal e As EventArgs)
Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
.PickerTitle = "Pick image",
.FileTypes = FilePickerFileType.Images
})
Dim path = images.FullPath.ToString()
OCRImage.Source = path
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
End Sub
Décomposons le code ci-dessus.
Le code suivant aide à sélectionner l'image en utilisant l'objet FilePicker
de C#. Le titre du FilePicker
et le type de fichier FilePicker
sont tous deux définis sur des valeurs, avec le chemin de l'image.
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()
Ensuite, le contrôle de boîte Image
est configuré pour utiliser l'image spécifiée dans la variable path
ci-dessus.
OCRImage.Source = path;
OCRImage.Source = path;
OCRImage.Source = path
Ensuite, nous commençons à utiliser IronOCR en créant une nouvelle instance de la classe IronTesseract
. Nous l'utilisons pour extraire le texte de l'image sélectionnée et ensuite pour afficher le contenu dans le contrôle de l'éditeur.
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
Après avoir lancé le projet, l'interface utilisateur ci-dessous s'affiche. Lorsque vous cliquez sur le bouton, vous êtes invité à sélectionner l'image/PDF à partir de n'importe quel emplacement.

Sortie OCR
Après avoir sélectionné l'image, IronOCR la traite et affiche les mots reconnus dans le contrôle de l'éditeur. Vous pouvez copier le texte à partir du contrôle de l'éditeur.

Image OCR
Les résultats montrent qu'IronOCR fait un excellent travail dans le traitement d'images complexes avec des motifs, en montrant des résultats précis. IronOCR est capable de détecter le point rouge sur la lettre et de sélectionner la lettre exacte requise à l'aide de ses modèles pré-entraînés.
Exécuter le projet en mode release avec le débogage attaché peut causer des problèmes. Dans de tels cas, vous pouvez publier le projet en tant qu'application .NET MAUI non emballée, comme montré dans le lien ci-dessous, pour garantir le bon fonctionnement de l'application.)}]
Conclusion
Pour en savoir plus, consultez ce tutoriel qui donne des informations supplémentaires sur l'utilisation d'IronOCR pour lire du texte à partir d'images.
IronOCR est gratuit à des fins de développement. Vous pouvez l'acheter pour le prix très bas à partir de seulement $749. Consultez le plan tarifaire ici.