iOS'ta iOS üzerinde .NET MAUI ile OCR Nasıl Yapılır

This article was translated from English: Does it need improvement?
Translated
View the article in English
iOS

.NET MAUI (Çok Platformlu Uygulama UI'si), Android, iOS, macOS ve Windows için .NET kullanarak platformlar arası uygulamalar oluşturmak amacıyla tasarlanmış Xamarin.Forms çerçevesinin bir evrimidir. MAUI, birden fazla platformda çalışabilen yerel kullanıcı arayüzleri oluşturma sürecini basitleştirmeyi amaçlar.

IronOcr.iOS paketi iOS'a OCR desteği getiriyor!

IronOCR iOS Paketi

IronOcr.iOS paketi, iOS cihazlarında .NET çapraz platform projeleri aracılığıyla OCR özelliklerini etkinleştirir. Vanilla IronOCR paketi gerekli değil.

Install-Package IronOcr.iOS
PDF için C# NuGet Kütüphanesi

NuGet ile yükleyin

Install-Package IronOcr.iOS

.NET MAUI Projesi Oluşturun

Çoklu platform bölümünden, .NET MAUI Uygulaması'nı seçin ve devam edin.

.NET MAUI Uygulama projesi oluştur

IronOCR.iOS Kutuphanesini Dahil Edin

Kütüphane çeşitli şekillerde eklenebilir. Belki en kolay yolu NuGet kullanmaktır.

  1. Visual Studio içinde, "Dependencies > NuGet" üzerine sağ tıklayın ve "Manage NuGet Packages ..." seçeneğini seçin.
  2. 'Gözat' sekmesini seçin ve 'IronOcr.iOS' arayın.
  3. 'IronOcr.iOS' paketini seçin ve 'Paket Ekle'ye tıklayın.

IronOcr.iOS paketini indir

Diğer platformlarla ilgili sorunları önlemek için, csproj dosyasını sadece iOS platformunu hedeflerken paketi dahil edecek şekilde değiştirin. Bunu yapmak için:

  1. Projeniz için *.csproj dosyasına sağ tıklayın ve "Proje Dosyasını Düzenle"yi seçin.
  2. Şu şekilde yeni bir ItemGroup ögesi oluşturun:

    <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. 'IronOcr.iOS' PackageReference'ı, az önce oluşturduğumuz ItemGroup içerisine taşıyın.

Yukarıdaki adımlar, 'IronOcr.iOS' paketinin örneğin Android platformlarında kullanılmasını önleyecektir (bu amaç için yerine IronOcr.Android kurun).

"MainPage.xaml"'yi düzenleyin

XAML dosyasını bir buton ve OCR sonucunu gösterecek bir etiket göstermek için düzenleyin. Örneğin:

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

"MainPage.xaml.cs"'yi düzenleyin

IronTesseract nesnesini oluşturarak başlayın. Aşağıda gösterilen kodda olduğu gibi, IronTesseract'yi bir sınıfta bir kez başlattığınızdan emin olun. Doğrudan bir yöntem içinde başlatmak etkili değildir ve beklenmedik hatalara yol açabilir. Ardından, bir dosya seçmek için FilePicker.PickAsync yöntemini kullanın. FileResult içinden okuma için bir akış açın. Yeni bir OcrInput nesnesi oluşturun ve bu nesneyi kullanarak resmi yükleyin. Resimde OCR gerçekleştirmek ve metni döndürmek için tesseract örneğini kullanın. Son olarak, çıkan metni bir etiket içinde gösterin.

Mevcut uygulama, yalnızca görüntü dosyaları ile sınırlıdır. Paket henüz PDF belgeleri ile çalışmıyor. Bunu göz önünde bulundurarak, PDF belgeleri ile ilgili herhangi bir yapılandırma devre dışı kalmalıdır.

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

Son olarak, derleme hedefini iOS Simülatör olarak değiştirin ve projeyi çalıştırın.

Projeyi Çalıştır

Bu, projeyi nasıl çalıştıracağınızı ve OCR işlemi nasıl yapacağınızı gösterecektir.

Execute .NET MAUI App project

.NET MAUI Uygulama Projesini İndirin

Bu rehber için tamamlanmış kodu indirebilirsiniz. Açık bir Visual Studio'da bir .NET MAUI Uygulama projesi olarak açabileceğiniz sıkıştırılmış bir dosya ile birlikte gelir.

Projeyi indirmek için buraya tıklayın.

IronOcr.iOS'u Avalonia'da Kullanma

Avalonia'da IronOcr.iOS kurulumu, MAUI'ye benzer, ancak bir önemli farkla: en son .NET SDK sürümünün yanı sıra IronOcr.iOS'un başarıyla çalışması için .NET SDK 8.0.101 de yüklü olmalıdır. Sonrasında, yukarıda açıklandığı gibi aynı kurulumla Avalonia projesinde IronOcr.iOS kullanılabilir.

Android'de OCR gerçekleştirmek istiyorsanız, daha fazla bilgi edinmek için şu makaleye gidin: ".NET MAUI'de Android'de OCR Nasıl Gerçekleştirilir"

Sıkça Sorulan Sorular

iOS için bir .NET MAUI uygulamasına OCR işlevselliğini nasıl entegre ederim?

IronOCR.iOS paketini kullanarak iOS için bir .NET MAUI uygulamasına OCR işlevselliğini entegre edebilirsiniz. Visual Studio'da NuGet üzerinden yükleyin ve proje dosyanızı iOS platformu için paketi koşullu olarak dahil edecek şekilde değiştirin. Görüntüleri işlemek ve metin çıkarmak için IronTesseract'ı kullanın.

IronOCR.iOS paketi, PDF belge işleme için kullanılabilir mi?

Hayır, IronOCR.iOS paketi şu anda sadece görüntü dosyalarını işleyebilir ve PDF belgelerini desteklemez. Projenizde PDF ile ilgili yapılandırmaların devre dışı olduğundan emin olun.

.NET MAUI kullanarak bir iOS uygulaması için OCR kurulumunda hangi adımlar vardır?

Bir iOS uygulaması için .NET MAUI kullanarak OCR kurmak, NuGet üzerinden IronOcr.iOS paketini indirmeyi, proje dosyanızı iOS için paketi koşullu olarak dahil edecek şekilde değiştirmeyi ve MainPage.xaml ve MainPage.xaml.cs dosyalarınızı kullanıcı arayüzü oluşturmak ve OCR işlemlerini yönetmek için düzenlemeyi içerir.

IronOCR'yi Avalonia projelerinde kullanmak için hangi ek gereksinimler vardır?

IronOCR'yi Avalonia projelerinde kullanırken, en son .NET SDK sürümünü ve ayrıca .NET SDK 8.0.101'i yüklediğinizden emin olmalısınız. Bu kurulum MAUI'ye benzer, ancak bu ek SDK'yı gerektirir.

.NET MAUI projesinde IronOCR kullanarak bir resimde nasıl OCR yapabilirim?

.NET MAUI projesinde IronTesseract nesnesini kullanarak bir resimde OCR yapın. Görüntü dosyasını seçmek için FilePicker.PickAsync kullanın, bir OcrInput nesnesine yükleyin ve ardından resmi okumak ve metni çıkarmak için IronTesseract'ı kullanın.

iOS üzerine .NET MAUI kullanarak OCR uygulamak için örnek bir proje var mı?

Evet, Iron Software web sitesinden IronOCR.iOS kullanarak .NET MAUI örnek projesi indirebilirsiniz. Bu örnek proje, geliştirme sürecinizi hızlandırmak için Visual Studio'da açılabilen ziplenmiş bir dosya olarak sunulmaktadır.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,585,834 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronOcr
örnekleri çalıştır resminizin aranabilir metne donuşünü izleyin.