How to Perform OCR on iOS in .NET MAUI

This article was translated from English: Does it need improvement?
Translated
View the article in English
class="container-fluid">
class="row">
class="col-md-2"> iOS

.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 OCR-Unterstützung für iOS!

class="hsg-featured-snippet">

Wie man IronOCR auf iOS in .NET MAUI verwendet

  1. Laden Sie die C#-Bibliothek herunter, um OCR auf iOS durchzuführen
  2. Erstellen Sie ein .NET MAUI App-Projekt
  3. Bearbeiten Sie die XAML-Datei, um eine Aktivierungsschaltfläche und Ausgabetext anzuzeigen
  4. Bearbeiten Sie die entsprechende C#-Datei, um das OCR durchzuführen
  5. Laden Sie das Beispielprojekt für einen schnellen Start 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.

Install-Package IronOcr.iOS
class="products-download-section">
data-modal-id="trial-license-after-download">
class="product-image"> C# NuGet Library for PDF
class="product-info">

Installation mit NuGet

class="copy-nuget-row">
Install-Package IronOcr.iOS
class="copy-button">
class="nuget-link">nuget.org/packages/IronOcr.iOS/

Erstellen Sie ein .NET MAUI Projekt

Wählen Sie im Bereich Multiplattform .NET MAUI App aus und fahren Sie fort.

Erstellen Sie ein .NET MAUI App-Projekt

Einbinden der IronOCR.iOS-Bibliothek

Die Bibliothek kann auf verschiedene Weise hinzugefügt werden. Die einfachste Methode ist vielleicht die Verwendung von NuGet.

  1. Klicken Sie innerhalb von Visual Studio mit der rechten Maustaste auf "Abhängigkeiten > Nuget" und wählen Sie "NuGet-Pakete verwalten ...".
  2. Wählen Sie die Registerkarte "Browse" und suchen Sie nach "IronOcr.iOS".
  3. Wählen Sie das "IronOcr.iOS"-Paket aus und klicken Sie auf "Paket hinzufügen".

Laden Sie das IronOcr.iOS-Paket herunter

Um Probleme mit anderen Plattformen zu vermeiden, ändern Sie die csproj-Datei, um das Paket nur bei Ausrichtung auf die iOS-Plattform einzuschließen. Um dies zu tun:

  1. Klicken Sie mit der rechten Maustaste auf die *.csproj-Datei Ihres Projekts und wählen Sie "Projektdatei bearbeiten".
  2. 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
  3. Verschieben Sie die "IronOcr.iOS"-PackageReference in die ItemGroup, die wir gerade erstellt haben.

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>
XML

Bearbeiten Sie "MainPage.xaml.cs"

Beginnen Sie mit der Instanzierung des IronTesseract-Objekts. Stellen Sie sicher, dass IronTesseract einmal in einer Klasse wie im folgenden Code gezeigt initialisiert wird. Die direkte Instanziierung in einer Methode ist nicht effektiv und könnte zu unerwarteten Fehlern führen. Verwenden Sie dann die Methode FilePicker.PickAsync, um eine Datei auszuwählen. Öffnen Sie aus dem FileResult einen Stream zum Lesen. Erstellen Sie ein neues OcrInput-Objekt und verwenden Sie 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
$vbLabelText   $csharpLabel

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.

.NET MAUI App-Projekt ausfü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.

Klicken Sie hier, um das Projekt herunterzuladen.

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 für .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.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 5,044,537 | Version: 2025.11 gerade veröffentlicht