Texterkennung auf iOS in .NET MAUI mit IronOCR
.NET MAUI (Multi-platform App UI) ist eine Weiterentwicklung des Xamarin.Forms-Frameworks, das entwickelt wurde, um plattformübergreifende Apps für Android, iOS, macOS und Windows mit .NET zu erstellen. MAUI zielt darauf ab, den Prozess der Erstellung nativer Benutzeroberflächen zu vereinfachen, die auf mehreren Plattformen laufen können.
Das IronOcr.iOS-Paket bringt vollständige Texterkennung und Bild zu Text Funktionalität für iOS – direkte OCR Software Integration ohne separates Paket!
Verwendung von IronOCR für iOS in .NET MAUI
- Herunterladen der C#-Bibliothek zur Durchführung von OCR auf iOS
- Ein .NET MAUI App-Projekt erstellen
- Bearbeiten Sie die XAML-Datei, um eine Aktivierungsschaltfläche und einen Ausgabetext anzuzeigen.
- Bearbeiten Sie die entsprechende C#-Datei, um die OCR durchzuführen.
- Laden Sie das Beispielprojekt für einen schnellen Einstieg herunter
IronOCR iOS Paket
Das IronOcr.iOS-Paket ermöglicht OCR-Funktionen auf iOS-Geräten über .NET plattformübergreifende Projekte. Das Vanilla-IronOCR-Paket wird nicht benötigt.
Installations-Paket IronOcr.iOS
Installations-Paket IronOcr.iOS
Erstellen Sie ein .NET MAUI Projekt
Wählen Sie im Bereich Multiplattform .NET MAUI App aus und fahren Sie fort.

Einbinden der IronOCR.iOS-Bibliothek
Die Bibliothek kann auf verschiedene Weise hinzugefügt werden. Die einfachste Methode ist die Verwendung von NuGet.
- Klicken Sie innerhalb von Visual Studio mit der rechten Maustaste auf "Abhängigkeiten > NuGet" und wählen Sie "NuGet-Pakete verwalten ...".
- Wählen Sie die Registerkarte "Browse" und suchen Sie nach "IronOCR.iOS".
- Wählen Sie das "IronOCR.iOS"-Paket aus und klicken Sie auf "Paket hinzufügen".

Um Probleme mit anderen Plattformen zu vermeiden, ändern Sie die Datei csproj so, dass das Paket nur dann eingebunden wird, wenn die iOS-Plattform als Zielplattform verwendet wird. Um dies zu tun:
- Klicken Sie mit der rechten Maustaste auf die *.csproj-Datei Ihres Projekts und wählen Sie "Projektdatei bearbeiten".
-
Erstellen Sie ein neues
ItemGroup-Element wie folgt:<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 - Verschieben Sie die "IronOCR.iOS" PackageReference in das soeben erstellte
ItemGroup.
Die obigen Schritte verhindern, dass das "IronOCR.iOS"-Paket beispielsweise auf Android-Plattformen verwendet wird (zu diesem Zweck installieren Sie stattdessen IronOcr.Android).
Bearbeiten Sie "MainPage.xaml"
Bearbeiten Sie die XAML-Datei, um eine Schaltfläche und ein Label zur Anzeige des OCR-Ergebnisses anzuzeigen. Zum Beispiel:
<?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>
Bearbeiten Sie "MainPage.xaml.cs"
Beginnen Sie mit der Instanziierung des IronTesseract Objekts. Stellen Sie sicher, dass Sie IronTesseract einmal in einer Klasse initialisieren, wie im folgenden Code gezeigt. Die direkte Instanziierung in einer Methode ist nicht effektiv und könnte zu unerwarteten Fehlern führen. Verwenden Sie anschließend die Methode FilePicker.PickAsync, um eine Datei auszuwählen. Öffnen Sie dann mit der Methode FileResult einen Stream zum Lesen. Erstelle ein neues OcrInput-Objekt und verwende dieses Objekt, um das Bild zu laden. Verwenden Sie die Tesseract-Instanz, um OCR auf das Bild durchzuführen und den Text zurückzugeben. Zeigen Sie schließlich den resultierenden Text in einem Label an.
Die aktuelle Implementierung ist auf Bilddateien beschränkt. Das Paket funktioniert noch nicht mit PDF-Dokumenten. Mit diesem Wissen im Hinterkopf sollten alle Konfigurationen im Zusammenhang mit PDF-Dokumenten deaktiviert bleiben.
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
Schließlich wechseln Sie das Build-Ziel auf den iOS-Simulator und führen das Projekt aus.
Das Projekt ausführen
Dies zeigt Ihnen, wie Sie das Projekt ausführen und OCR durchführen.
Laden Sie das .NET MAUI App-Projekt herunter
Sie können den vollständigen Code für diesen Leitfaden herunterladen. Er kommt als gezippte Datei, die Sie in Visual Studio als .NET MAUI App-Projekt öffnen können.
IronOcr.iOS in Avalonia verwenden
Die Einrichtung von IronOCR.iOS in Avalonia ist ähnlich wie bei MAUI, mit einem entscheidenden Unterschied: Zusätzlich zur neuesten .NET SDK-Version benötigen Sie auch .NET SDK 8.0.101, um IronOCR.iOS erfolgreich auszuführen. Anschließend kann IronOcr.iOS in einem Avalonia-Projekt mit der gleichen Einrichtung wie oben beschrieben verwendet werden.
Wenn Sie OCR auf Android durchführen möchten, navigieren Sie zum folgenden Artikel, um mehr zu erfahren: "Wie man OCR auf Android in .NET MAUI durchführt"
Häufig gestellte Fragen
Wie integriere ich die OCR-Funktionalität in eine .NET MAUI-App für iOS?
Sie können die OCR-Funktionalität in eine .NET MAUI-App für iOS integrieren, indem Sie das IronOCR.iOS-Paket verwenden. Installieren Sie es über NuGet in Visual Studio und passen Sie dann Ihre Projektdatei an, um das Paket bedingt für die iOS-Plattform einzubinden. Verwenden Sie IronTesseract, um Bilder zu verarbeiten und Text zu extrahieren.
Kann ich das IronOCR.iOS-Paket für die Verarbeitung von PDF-Dokumenten verwenden?
Nein, das IronOCR.iOS-Paket ist derzeit auf die Verarbeitung von Bilddateien beschränkt und unterstützt keine PDF-Dokumente. Stellen Sie sicher, dass alle PDF-bezogenen Konfigurationen in Ihrem Projekt deaktiviert sind.
Welche Schritte sind erforderlich, um OCR für eine iOS-App mit .NET MAUI einzurichten?
Die Einrichtung von OCR für eine iOS-App mit .NET MAUI umfasst das Herunterladen des IronOcr.iOS-Pakets über NuGet, das Anpassen Ihrer Projektdatei, um das Paket bedingt für iOS einzubinden, sowie das Bearbeiten Ihrer MainPage.xaml und MainPage.xaml.cs-Dateien, um die Benutzeroberfläche zu erstellen und die OCR-Verarbeitung zu steuern.
Welche zusätzlichen Anforderungen gibt es für die Verwendung von IronOCR in Avalonia-Projekten?
Bei der Verwendung von IronOCR in Avalonia-Projekten müssen Sie sicherstellen, dass Sie die neueste .NET-SDK-Version und auch das .NET-SDK 8.0.101 installiert haben. Dieses Setup ist dem von MAUI ähnlich, erfordert jedoch dieses zusätzliche SDK.
Wie kann ich mit IronOCR in einem .NET MAUI-Projekt eine OCR auf einem Bild durchführen?
In einem .NET MAUI-Projekt verwenden Sie das IronTesseract-Objekt, um die OCR auf einem Bild durchzuführen. Verwenden Sie FilePicker.PickAsync, um eine Bilddatei auszuwählen, laden Sie sie in ein OcrInput-Objekt und verwenden Sie dann IronTesseract, um das Bild zu lesen und Text zu extrahieren.
Gibt es ein Beispielprojekt zur Implementierung von OCR auf iOS mit .NET MAUI?
Ja, Sie können ein Beispielprojekt for .NET MAUI mit IronOCR.iOS von der Iron Software-Website herunterladen. Dieses Beispielprojekt steht als ZIP-Datei zur Verfügung, die Sie in Visual Studio öffnen können, um Ihren Entwicklungsprozess zu beschleunigen.

