Comment utiliser le logiciel OCR IronOCR sur iOS avec .NET MAUI
.NET MAUI (Multi-platform App UI) est une évolution du framework Xamarin.Forms, conçu pour créer des applications multiplateformes pour Android, iOS, macOS et Windows en utilisant .NET. MAUI vise à simplifier le processus de création d'interfaces utilisateur natives pouvant fonctionner sur plusieurs plateformes.
Le package IronOcr.iOS apporte la prise en charge de la reconnaissance optique de caractères (OCR) à iOS !
Comment utiliser IronOCR sur iOS avec .NET MAUI
- Téléchargez la bibliothèque C# pour effectuer la reconnaissance optique de caractères (OCR) sur iOS.
- Créez un projet d'application .NET MAUI
- Modifiez le fichier XAML pour afficher un bouton d'activation et le texte de sortie
- Modifiez le fichier C# correspondant pour effectuer la reconnaissance optique de caractères
- Téléchargez le projet d'exemple pour un démarrage rapide
Package IronOCR pour iOS
Le package IronOcr.iOS active les fonctionnalités OCR sur les appareils iOS via des projets multiplateformes .NET. Le package IronOCR de base n'est pas nécessaire.
Installer le package IronOcr.iOS
Installer le package IronOcr.iOS
Créer un projet .NET MAUI
Dans la section Multiplattform, sélectionnez .NET MAUI App et continuez.

Inclure la bibliothèque IronOCR.iOS
La bibliothèque peut être ajoutée de différentes manières. La plus simple est peut-être d'utiliser NuGet.
- Dans Visual Studio, cliquez avec le bouton droit sur "Dépendances > NuGet" et sélectionnez "Gérer les packages NuGet...".
- Sélectionnez l'onglet " Parcourir " et recherchez " IronOcr.iOS ".
- Sélectionnez le package " IronOcr.iOS " et cliquez sur " Ajouter un package ".

Pour éviter les problèmes avec d'autres plateformes, modifiez le fichier csproj pour n'inclure le package que lors du ciblage de la plateforme iOS. Pour ce faire :
- Faites un clic droit sur le fichier *.csproj de votre projet et sélectionnez " Modifier le fichier projet ".
-
Créez un nouvel élément
ItemGroupcomme suit :<ItemGroup Condition="$(TargetFramework.Contains('ios')) == true"> <PackageReference Include="IronOcr.iOS" Version="YOUR_PACKAGE_VERSION" /> </ItemGroup><ItemGroup Condition="$(TargetFramework.Contains('ios')) == true"> <PackageReference Include="IronOcr.iOS" Version="YOUR_PACKAGE_VERSION" /> </ItemGroup>XML - Déplacez la référence de package "IronOCR.iOS " à l'intérieur du
ItemGroupque nous venons de créer.
Les étapes ci-dessus empêcheront l'utilisation du package " IronOCR.iOS " sur, par exemple, les plateformes Android (pour cela, installez plutôt IronOcr.Android ).
Modifier " MainPage.xaml "
Modifiez le fichier XAML pour afficher un bouton et une étiquette permettant d'afficher le résultat de la reconnaissance optique de caractères (OCR). Par exemple :
<?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="MAUIIronOCRiOSSample.MainPage">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button
Text="Import File"
Clicked="ReadFileOnImport"
Grid.Row="0"
HorizontalOptions="Center"
Margin="20, 20, 20, 10"/>
<ScrollView
Grid.Row="1"
BackgroundColor="LightGray"
Padding="10"
Margin="10, 10, 10, 30">
<Label x:Name="OutputText"/>
</ScrollView>
</Grid>
</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="MAUIIronOCRiOSSample.MainPage">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button
Text="Import File"
Clicked="ReadFileOnImport"
Grid.Row="0"
HorizontalOptions="Center"
Margin="20, 20, 20, 10"/>
<ScrollView
Grid.Row="1"
BackgroundColor="LightGray"
Padding="10"
Margin="10, 10, 10, 30">
<Label x:Name="OutputText"/>
</ScrollView>
</Grid>
</ContentPage>
Modifier " MainPage.xaml.cs "
Commencez par instancier l'objet IronTesseract. Assurez-vous d'initialiser IronTesseract une seule fois dans une classe, comme indiqué dans le code ci-dessous. L'instancier directement dans une méthode n'est pas efficace et pourrait entraîner des erreurs inattendues. Utilisez ensuite la méthode FilePicker.PickAsync pour sélectionner un fichier. À partir de FileResult, ouvrez un flux de lecture. Créez un nouvel objet OcrInput et utilisez cet objet pour charger l'image. Utilisez l'instance tesseract pour effectuer une reconnaissance optique de caractères (OCR) sur l'image et renvoyer le texte. Enfin, affichez le texte obtenu dans une étiquette.
La version actuelle se limite aux fichiers image. Ce logiciel ne fonctionne pas encore avec les documents PDF. Dans cette optique, toute configuration relative aux documents PDF doit rester désactivée.
using System;
using IronOcr;
using Microsoft.Maui.Controls;
namespace MAUIIronOCRiOSSample;
public partial class MainPage : ContentPage
{
// Initialize IronTesseract once in a class
private IronTesseract ocrTesseract = new IronTesseract();
public MainPage()
{
InitializeComponent();
// Apply license key
IronOcr.License.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
}
private async void ReadFileOnImport(object sender, EventArgs e)
{
try
{
var options = new PickOptions
{
PickerTitle = "Please select a file"
};
var result = await FilePicker.PickAsync(options);
if (result != null)
{
using var stream = await result.OpenReadAsync();
// Instantiate OcrInput
using var ocrInput = new OcrInput();
// Load image stream
ocrInput.LoadImage(stream);
// Perform OCR
var ocrResult = ocrTesseract.Read(ocrInput);
OutputText.Text = ocrResult.Text;
}
}
catch (Exception ex)
{
// Handle exceptions
System.Diagnostics.Debug.WriteLine(ex);
}
}
}
using System;
using IronOcr;
using Microsoft.Maui.Controls;
namespace MAUIIronOCRiOSSample;
public partial class MainPage : ContentPage
{
// Initialize IronTesseract once in a class
private IronTesseract ocrTesseract = new IronTesseract();
public MainPage()
{
InitializeComponent();
// Apply license key
IronOcr.License.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01";
}
private async void ReadFileOnImport(object sender, EventArgs e)
{
try
{
var options = new PickOptions
{
PickerTitle = "Please select a file"
};
var result = await FilePicker.PickAsync(options);
if (result != null)
{
using var stream = await result.OpenReadAsync();
// Instantiate OcrInput
using var ocrInput = new OcrInput();
// Load image stream
ocrInput.LoadImage(stream);
// Perform OCR
var ocrResult = ocrTesseract.Read(ocrInput);
OutputText.Text = ocrResult.Text;
}
}
catch (Exception ex)
{
// Handle exceptions
System.Diagnostics.Debug.WriteLine(ex);
}
}
}
Imports System
Imports IronOcr
Imports Microsoft.Maui.Controls
Namespace MAUIIronOCRiOSSample
Partial Public Class MainPage
Inherits ContentPage
' Initialize IronTesseract once in a class
Private ocrTesseract As New IronTesseract()
Public Sub New()
InitializeComponent()
' Apply license key
IronOcr.License.LicenseKey = "IRONOCR-MYLICENSE-KEY-1EF01"
End Sub
Private Async Sub ReadFileOnImport(ByVal sender As Object, ByVal e As EventArgs)
Try
Dim options = New PickOptions With {.PickerTitle = "Please select a file"}
Dim result = Await FilePicker.PickAsync(options)
If result IsNot Nothing Then
Dim stream = Await result.OpenReadAsync()
' Instantiate OcrInput
Dim ocrInput As New OcrInput()
' Load image stream
ocrInput.LoadImage(stream)
' Perform OCR
Dim ocrResult = ocrTesseract.Read(ocrInput)
OutputText.Text = ocrResult.Text
End If
Catch ex As Exception
' Handle exceptions
System.Diagnostics.Debug.WriteLine(ex)
End Try
End Sub
End Class
End Namespace
Enfin, changez la cible de build sur iOS Simulator et exécutez le projet.
Exécuter le projet
Ceci vous montrera comment exécuter le projet et effectuer la reconnaissance optique de caractères (OCR).
Télécharger le projet d'application .NET MAUI
Vous pouvez télécharger le code complet pour ce guide. Il vient sous forme d'un fichier zippé que vous pouvez ouvrir dans Visual Studio en tant que projet d'application .NET MAUI.
Utilisation d'IronOcr.iOS à Avalonia
La configuration d'IronOCR.iOS dans Avalonia est similaire à celle de MAUI, à une différence cruciale près : en plus de la dernière version du SDK .NET, vous devez également installer le SDK .NET 8.0.101 pour exécuter IronOCR.iOS correctement. Par la suite, IronOcr.iOS peut être utilisé dans un projet Avalonia avec la même configuration que celle décrite ci-dessus.
Si vous souhaitez effectuer une reconnaissance optique de caractères (OCR) sur Android, consultez l'article suivant pour en savoir plus : " Comment effectuer une OCR sur Android avec .NET MAUI ".
Questions Fréquemment Posées
Comment intégrer la fonctionnalité OCR dans une application .NET MAUI pour iOS ?
Vous pouvez intégrer la fonctionnalité OCR dans une application .NET MAUI pour iOS en utilisant le package IronOCR.iOS. Installez-le via NuGet dans Visual Studio, puis modifiez votre fichier de projet pour inclure le package conditionnellement pour la plateforme iOS. Utilisez IronTesseract pour traiter les images et extraire le texte.
Puis-je utiliser le package IronOCR.iOS pour le traitement de documents PDF ?
Non, le package IronOCR.iOS est actuellement limité au traitement des fichiers image uniquement et ne supporte pas les documents PDF. Assurez-vous que toutes les configurations liées au PDF sont désactivées dans votre projet.
Quelles sont les étapes nécessaires pour configurer l'OCR pour une application iOS en utilisant .NET MAUI ?
Configurer l'OCR pour une application iOS en utilisant .NET MAUI implique de télécharger le package IronOcr.iOS via NuGet, de modifier votre fichier de projet pour inclure conditionnellement le package pour iOS, et d'éditer vos fichiers MainPage.xaml et MainPage.xaml.cs pour créer l'interface utilisateur et gérer le traitement OCR.
Quels sont les besoins supplémentaires pour utiliser IronOCR dans les projets Avalonia ?
Lors de l'utilisation d'IronOCR dans des projets Avalonia, vous devez vous assurer que vous avez la dernière version du SDK .NET et également le SDK .NET 8.0.101 installé. Cette configuration est similaire à MAUI mais nécessite ce SDK supplémentaire.
Comment puis-je effectuer un OCR sur une image en utilisant IronOCR dans un projet .NET MAUI ?
Dans un projet .NET MAUI, utilisez l'objet IronTesseract pour effectuer un OCR sur une image. Utilisez FilePicker.PickAsync pour sélectionner un fichier image, chargez-le dans un objet OcrInput, puis utilisez IronTesseract pour lire l'image et extraire le texte.
Y a-t-il un projet exemple pour implémenter l'OCR sur iOS en utilisant .NET MAUI ?
Oui, vous pouvez télécharger un projet exemple .NET MAUI utilisant IronOCR.iOS depuis le site Web d'Iron Software. Ce projet exemple est disponible sous forme de fichier zippé que vous pouvez ouvrir dans Visual Studio pour accélérer votre processus de développement.

