Wie man OCR auf Android in .NET MAUI durchführt
.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. .NET MAUI zielt darauf ab, den Prozess der Erstellung von nativen Benutzeroberflächen zu vereinfachen, die auf mehreren Plattformen ausgeführt werden können.
Das IronOcr.Android-Paket bringt OCR-Unterstützung für Android!
Verwendung von IronOCR für Android in .NET MAUI
- Herunterladen der C#-Bibliothek zur Durchführung von OCR auf Android
- 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 Android Paket
Das IronOcr.Android-Paket ermöglicht OCR-Funktionen auf Android-Geräten über .NET plattformübergreifende Projekte. Das Vanilla-IronOCR-Paket wird nicht benötigt.
Installation mit NuGet
Installations-Paket IronOcr.Android
Erstellen eines .NET MAUI-Projekts
Öffnen Sie Visual Studio und klicken Sie auf "Neues Projekt erstellen". Nach MAUI suchen, .NET MAUI App auswählen und auf 'Weiter' klicken.

Fügen Sie die IronOcr.Android-Bibliothek hinzu
Die Bibliothek kann auf verschiedene Weise hinzugefügt werden. Die einfachste Methode ist die Verwendung von NuGet.
- Klicken Sie in Visual Studio mit der rechten Maustaste auf "Abhängigkeiten" und wählen Sie "NuGet-Pakete verwalten ...".
- Wählen Sie die Registerkarte "Durchsuchen" und suchen Sie nach "IronOcr.Android".
- Wählen Sie das "IronOcr.Android"-Paket und klicken Sie auf "Installieren".

Um Probleme mit anderen Plattformen zu vermeiden, ändern Sie die csproj-Datei, um das Paket nur dann einzubeziehen, wenn es auf der Android-Plattform ausgeführt wird. Um dies zu tun:
-
Rechtsklick auf das Projekt und "Projektdatei bearbeiten" wählen.
-
Erstellen Sie ein neues ItemGroup-Element wie folgt:
<ItemGroup Condition="$(TargetFramework.Contains('android')) == true"> </ItemGroup>XML -
Verschieben Sie die "IronOcr.Android" PackageReference in die gerade erstellte ItemGroup.
Die obigen Schritte verhindern, dass das "IronOcr.Android"-Paket z.B. auf iOS-Plattformen verwendet wird (installieren Sie stattdessen IronOCR.iOS dafür).
Bearbeiten Sie "MainActivity.cs"
- Öffnen Sie die Datei "MainActivity.cs", indem Sie zu Plattformen -> Android navigieren.
- Fügen Sie die
MainActivityMethode hinzu und rufen Sie dieInitializeMethode auf.
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.OS;
using IronOcr;
namespace MAUI IronOCRAndroidSample
{
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
public class MainActivity : MauiAppCompatActivity
{
public MainActivity()
{
// Initialize IronTesseract for OCR purposes
IronTesseract.Initialize(this);
}
}
}
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="MAUI IronOCRAndroidSample.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"
Erstellen Sie zuerst eine Instanz des IronTesseract Objekts. Stellen Sie sicher, dass IronTesseract einmal innerhalb der Klasse initialisiert wird, wie im untenstehenden Code gezeigt. Die Instanziierung innerhalb einer Methode kann ineffektiv sein und unerwartete Fehler verursachen.
Verwenden Sie anschließend die FilePicker.PickAsync Methode, um eine Datei auszuwählen, und öffnen Sie dann einen Lesestream vom FileResult. Erstellen Sie ein neues OcrInput Objekt und laden Sie das Bild hinein. Führen Sie OCR auf dem Bild mit der Tesseract-Instanz durch und extrahieren Sie den Text. Zeigen Sie schließlich den resultierenden Text in einem Label an.
using IronOcr;
using Microsoft.Maui.Controls;
using System;
using System.Diagnostics;
using System.IO;
using System.Threading.Tasks;
namespace MAUI IronOCRAndroidSample
{
public partial class MainPage : ContentPage
{
// Initialize IronTesseract once in a class
private readonly IronTesseract ocrTesseract = new IronTesseract();
public MainPage()
{
InitializeComponent();
// Apply License key if required
IronOcr.License.LicenseKey = "IRONOCR.MYLICENSE.KEY.1EF01";
}
private async void ReadFileOnImport(object sender, EventArgs e)
{
try
{
// Configure the file picker
var options = new PickOptions
{
PickerTitle = "Please select a file"
};
// Await user's file selection
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 for OCR processing
ocrInput.AddImage(stream);
// Perform OCR
var ocrResult = ocrTesseract.Read(ocrInput);
// Display extracted text
OutputText.Text = ocrResult.Text;
}
}
catch (Exception ex)
{
// Log and handle exceptions
Debug.WriteLine(ex);
}
}
}
}
Schließlich stellen Sie in der .csproj Datei sicher, dass Sie das Projekt nur für Android erstellen. Da das hinzugefügte Paket nur für Android ist, wird das Erstellen des Projekts für alle Plattformen fehlschlagen.
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.
[Klicken Sie hier, um das Projekt herunterzuladen.](/static-assets/ocr/how-to/setup-android/MAUI IronOCRAndroidSample.zip)
Verwendung von IronOcr.Android in Avalonia
Ähnlich wie bei MAUI kann IronOcr.Android in einem Avalonia-Projekt mit der oben beschriebenen Einrichtung verwendet werden.
Wenn Sie OCR auf iOS durchführen möchten, gehen Sie zu folgendem Artikel, um mehr zu erfahren: "Wie man OCR auf iOS in .NET MAUI durchführt"
Häufig gestellte Fragen
Wie kann ich OCR auf Android in einer .NET MAUI-Anwendung durchführen?
Um OCR auf Android mit .NET MAUI durchzuführen, installieren Sie das IronOcr.Android-Paket über NuGet in Visual Studio. Verwenden Sie die IronTesseract-Klasse, um Bilder zu verarbeiten und Text zu extrahieren. Stellen Sie sicher, dass Ihr Projekt so konfiguriert ist, dass es Android anvisiert, indem Sie die .csproj-Datei entsprechend ändern.
Was ist der Zweck des IronOcr.Android-Pakets?
Das IronOcr.Android-Paket ist speziell dafür entwickelt worden, OCR-Fähigkeiten auf Android-Geräten innerhalb von .NET MAUI-Projekten zu bringen. Es vereinfacht die Integration von Texterkennungs-Funktionen in plattformübergreifende Anwendungen, die Android anvisieren.
Wie konfiguriere ich ein .NET MAUI-Projekt für Android OCR?
Konfigurieren Sie Ihr .NET MAUI-Projekt, indem Sie das IronOcr.Android-Paket über NuGet installieren. Passen Sie die .csproj-Datei an, um Android anzuvisieren, indem Sie ein neues ItemGroup-Element erstellen und den IronOcr.Android PackageReference darin verschieben. Dies vermeidet Build-Probleme für andere Plattformen.
Welche Änderungen sind in MainActivity.cs für die OCR-Einrichtung erforderlich?
Fügen Sie in der MainActivity.cs-Datei unter Platforms -> Android die Methode MainActivity hinzu und rufen Sie die Initialize-Methode von IronTesseract auf. Dies richtet die OCR-Fähigkeiten ein, die erforderlich sind, um Text aus Bildern zu verarbeiten.
Wie kann ich MainPage.xaml bearbeiten, um OCR-Funktionen zu integrieren?
Bearbeiten Sie MainPage.xaml, um eine Schaltfläche zum Importieren von Dateien und ein Label zum Anzeigen von OCR-Ergebnissen einzuschließen. Definieren Sie die notwendigen UI-Elemente, um mit der Logik der OCR-Verarbeitung zu interagieren und Benutzerinput effektiv zu verwalten.
Was soll ich tun, wenn ich beim OCR-Prozess auf Fehler stoße?
Verwenden Sie try-catch-Blöcke um Ihren OCR-Verarbeitungscode, um Ausnahmen zu behandeln. Protokollieren Sie alle Fehler mit Debug.WriteLine oder einem anderen Logging-Mechanismus, um bei der Diagnose und Behebung von Problemen zu helfen.
Ist es möglich, das IronOcr.Android-Paket in Avalonia-Projekten zu verwenden?
Ja, das IronOcr.Android-Paket kann in Avalonia-Projekten verwendet werden mit einem ähnlichen Einrichtungsprozess wie in .NET MAUI. Passen Sie die Projektkonfiguration entsprechend an, um die OCR-Funktionalität zu aktivieren.
Wo finde ich ein vollständiges Beispielprojekt für Android OCR mit .NET MAUI?
Ein vollständiges Beispielprojekt für Android OCR mit der IronOCR-Bibliothek in .NET MAUI steht über einen im Leitfaden bereitgestellten Link zum Download zur Verfügung. Das Projekt kommt als ZIP-Datei, bereit zum Öffnen in Visual Studio.
Wie stelle ich sicher, dass das IronOcr.Android-Paket nur Android in einem Mehrplattformprojekt anvisiert?
Um sicherzustellen, dass das IronOcr.Android-Paket nur Android anvisiert, ändern Sie die .csproj-Datei, indem Sie eine bedingte ItemGroup für Android erstellen und den IronOcr.Android PackageReference darin verschieben. Dies verhindert Konflikte beim Erstellen für andere Plattformen.
How do you initialize IronTesseract in a MAUI project?
Within your 'MainActivity', initialize IronTesseract by calling `IronTesseract.Initialize(this);` to prepare it for OCR operations in your Android app.

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 Handbücher.