Jak przeprowadzić OCR na iOS w .NET MAUI
.NET MAUI (Multi-platform App UI) to ewolucja frameworka Xamarin.Forms, zaprojektowana do tworzenia aplikacji wieloplatformowych dla systemów Android, iOS, macOS i Windows przy użyciu .NET. MAUI ma na celu uproszczenie procesu tworzenia natywnych interfejsów użytkownika, które mogą działać na wielu platformach.
Pakiet IronOcr.iOS wprowadza obsługę OCR na iOS!
Jak używać IronOCR na iOS w .NET MAUI
- Pobierz bibliotekę C# do przeprowadzenia OCR na iOS
- Utwórz projekt aplikacji .NET MAUI
- Edytuj plik XAML, aby wyświetlić przycisk aktywacji i tekst wyjściowy
- Edytuj odpowiedni plik C#, aby przeprowadzić OCR
- Pobierz przykładowy projekt, aby szybko rozpocząć pracę
Pakiet IronOCR iOS
Pakiet IronOcr.iOS umożliwia funkcje OCR na urządzeniach iOS za pośrednictwem projektów krzyżowoplatformowych .NET. Standardowy pakiet IronOCR nie jest potrzebny.
Install-Package IronOcr.iOS
Zainstaluj za pomocą NuGet
Install-Package IronOcr.iOS
Utwórz projekt .NET MAUI
W sekcji "Multiplatform" wybierz opcję "Aplikacja .NET MAUI" i kontynuuj.

Dołącz bibliotekę IronOCR.iOS
Bibliotekę można dodać na różne sposoby. Najłatwiej jest użyć NuGet.
- W programie Visual Studio kliknij prawym przyciskiem myszy "Zależności > NuGet" i wybierz "Zarządzaj pakietami NuGet...".
- Wybierz zakładkę "Przeglądaj" i wyszukaj "IronOcr.iOS".
- Wybierz pakiet "IronOcr.iOS" i kliknij "Dodaj pakiet".

Aby zapobiec problemom z innymi platformami, zmodyfikuj plik csproj, aby uwzględniał pakiet tylko wtedy, gdy celem jest platforma iOS. Aby to zrobić:
- Kliknij prawym przyciskiem na plik *.csproj w swoim projekcie i wybierz "Edit Project File".
-
Utwórz nowy element
ItemGroupw następujący sposób:<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 - Przenieś odwołanie do pakietu "IronOcr.iOS" do wnętrza
ItemGroup, który właśnie stworzyliśmy.
Powyższe kroki zapobiegną użyciu pakietu "IronOcr.iOS" na platformach takich jak Android (w tym celu zainstaluj zamiast tego IronOcr.Android).
Edytuj "MainPage.xaml"
Edytuj plik XAML, aby wyświetlić przycisk i etykietę pokazujące wynik OCR. Na przykład:
<?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>
Edytuj "MainPage.xaml.cs"
Rozpocznij od zainicjowania obiektu IronTesseract. Upewnij się, że zainicjowano IronTesseract raz w klasie, jak pokazano poniżej w kodzie. Zainicjowanie go bezpośrednio w metodzie nie jest efektywne i może prowadzić do nieoczekiwanych błędów. Następnie użyj metody FilePicker.PickAsync, aby wybrać plik. Z FileResult otwórz strumień do odczytu. Utwórz nowy obiekt OcrInput i użyj tego obiektu do załadowania obrazu. Użyj instancji tesseract, aby przeprowadzić OCR na obrazie i zwróć tekst. Na koniec wyświetl wynikowy tekst w etykiecie.
Obecna implementacja jest ograniczona tylko do plików obrazów. Pakiet nie działa jeszcze z dokumentami PDF. Mając to na uwadze, wszelkie konfiguracje związane z dokumentami PDF powinny pozostać wyłączone.
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
Na koniec zmień cel kompilacji na iOS Simulator i uruchom projekt.
Uruchom projekt
Poniżej przedstawiono instrukcję uruchamiania projektu i przeprowadzania OCR.
Pobierz projekt aplikacji .NET MAUI
Możesz pobrać pełny kod do tego przewodnika. Jest dostępny jako spakowany plik, który możesz otworzyć w Visual Studio jako projekt .NET MAUI App.
Użycie IronOcr.iOS w Avalonia
Konfiguracja IronOcr.iOS w Avalonia jest podobna do MAUI, z jedną kluczową różnicą: oprócz najnowszej wersji SDK .NET musisz również mieć zainstalowane .NET SDK 8.0.101, aby pomyślnie uruchomić IronOcr.iOS. Następnie, IronOcr.iOS można używać w projekcie Avalonia z taką samą konfiguracją, jak opisano powyżej.
Jeśli chcesz przeprowadzić OCR na Androidzie, przejdź do następnego artykułu, aby dowiedzieć się więcej: "Jak przeprowadzić OCR na Androidzie w .NET MAUI"
Często Zadawane Pytania
Jak zintegrować funkcję OCR z aplikacją .NET MAUI na iOS?
Możesz zintegrować funkcję OCR z aplikacją .NET MAUI na iOS, korzystając z pakietu IronOCR.iOS. Zainstaluj go przez NuGet w Visual Studio, a potem zmodyfikuj plik projektu, żeby dołączyć pakiet warunkowo dla platformy iOS. Użyj IronTesseract do przetwarzania obrazów i wyciągania tekstu.
Czy mogę używać pakietu IronOCR.iOS do przetwarzania dokumentów PDF?
Nie, pakiet IronOCR.iOS jest obecnie ograniczony wyłącznie do przetwarzania plików graficznych i nie obsługuje dokumentów PDF. Upewnij się, że wszelkie konfiguracje związane z plikami PDF są wyłączone w Twoim projekcie.
Jakie kroki należy wykonać, aby skonfigurować OCR dla aplikacji na iOS przy użyciu .NET MAUI?
Konfiguracja OCR dla aplikacji na iOS przy użyciu .NET MAUI wymaga pobrania pakietu IronOcr.iOS za pośrednictwem NuGet, zmodyfikowania pliku projektu w celu warunkowego dołączenia pakietu dla iOS oraz edycji plików MainPage.xaml i MainPage.xaml.cs w celu utworzenia interfejsu użytkownika i obsługi przetwarzania OCR.
Jakie są dodatkowe wymagania dotyczące korzystania z IronOCR w projektach Avalonia?
Korzystając z IronOCR w projektach Avalonia, należy upewnić się, że zainstalowano najnowszą wersję .NET SDK, a także .NET SDK 8.0.101. Konfiguracja ta jest podobna do MAUI, ale wymaga tego dodatkowego SDK.
Jak mogę przeprowadzić OCR na obrazie przy użyciu IronOCR w projekcie .NET MAUI?
W projekcie .NET MAUI użyj obiektu IronTesseract, aby wykonać OCR na obrazie. Użyj FilePicker.PickAsync, aby wybrać plik obrazu, załaduj go do obiektu OcrInput, a następnie użyj IronTesseract do odczytania obrazu i wyodrębnienia tekstu.
Czy istnieje przykładowy projekt wdrażania OCR na iOS przy użyciu .NET MAUI?
Tak, możesz pobrać przykładowy projekt .NET MAUI wykorzystujący IronOCR.iOS ze strony internetowej Iron Software. Ten przykładowy projekt jest dostępny w postaci pliku ZIP, który można otworzyć w Visual Studio, aby przyspieszyć proces tworzenia oprogramowania.

