.NET MAUI'de iOS'ta 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), .NET kullanarak Android, iOS, macOS ve Windows için çapraz platformlu uygulamalar geliştirmek üzere tasarlanmış Xamarin.Forms çerçevesinin evrimidir. MAUI, birden çok platformda çalışabilen yerel kullanıcı arayüzleri oluşturma sürecini basitleştirmeyi amaçlıyor.

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

IronOCR iOS Paketi

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

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

NuGet ile yükleyin

Install-Package IronOcr.iOS

Bir .NET MAUI Projesi Oluşturun

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

.NET MAUI Uygulama projesi oluşturma

IronOCR.iOS Kütüphanesini Dahil Et

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

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

IronOcr.iOS paketini indirin

Diğer platformlarda sorun yaşamamak için, csproj dosyasını değiştirerek paketi yalnızca iOS platformunu hedeflerken dahil edin. Bunu yapmak için:

  1. Projenizin *.csproj dosyası üzerine sağ tıklayın ve "Proje Dosyasını Düzenle" seçeneğini seçin.
  2. Şu şekilde yeni bir ItemGroup öğesi 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 öğesini az önce oluşturduğumuz ItemGroup içine taşıyın.

Yukarıdaki adımlar, "IronOcr.iOS" paketinin örneğin Android platformlarında kullanılmasını önleyecektir (bu amaçla IronOcr.Android yükleyin).

"MainPage.xaml" Düzenle

OCR sonucunu göstermek için bir düğme ve bir etiket görüntülemek üzere XAML dosyasını 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" Düzenle

IronTesseract nesnesini oluşturarak başlayın. Aşağıdaki kodda gösterildiği gibi, bir sınıfta IronTesseract öğesini bir kez başlatmayı unutmayın. Onu doğrudan bir metotta başlatmak etkili değil ve beklenmeyen hatalara yol açabilir. Ardından, FilePicker.PickAsync yöntemini kullanarak bir dosya seçin. FileResult'den okuma için bir akış açın. Yeni bir OcrInput nesnesi oluşturun ve bu nesneyi kullanarak görüntüyü yükleyin. Görüntü üzerinde OCR gerçekleştirmek ve metni geri almak için Tesseract örneğini kullanın. Sonuçlanan metni nihayet bir etikete gösterin.

Mevcut uygulama sadece resim dosyaları ile sınırlıdır. Paket henüz PDF belgeleri ile çalışmıyor. Bunu dikkate alarak, PDF belgelerine ilişkin herhangi bir yapılandırmanın devre dışı bırakılması gerekir.

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üne değiştirin ve projeyi çalıştırın.

Projeyi Çalıştırın

Proje nasıl çalıştırılacağını ve OCR işlemi nasıl yapılacağını gösterecektir.

Execute .NET MAUI App project

.NET MAUI Uygulama Projesi İndirin

Bu kılavuzun tüm kodunu indirebilirsiniz. Visual Studio'da .NET MAUI Uygulama projesi olarak açabileceğiniz sıkıştırılmış bir dosya olarak gelir.

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

Avalonia'da IronOcr.iOS Kullanımı

Avalonia'da IronOcr.iOS kurulumu, MAUI'ye benzer, ancak bir farkla: en son .NET SDK sürümüne ek olarak .NET SDK 8.0.101 de başarıyla çalıştırmak için kurulu olmalıdır. Daha sonra, yukarıda açıklanan aynı kurulumla IronOcr.iOS, bir Avalonia projesinde kullanılabilir.

Android üzerinde OCR gerçekleştirmek istiyorsanız, daha fazla bilgi edinmek için şu makaleye gidin: ".NET MAUI'da Android Üzerinde OCR Nasıl Yapılır?"

Sıkça Sorulan Sorular

.NET MAUI uygulaması için iOS üzerinde OCR işlevselliğini nasıl entegre edebilirim?

IronOCR.iOS paketini kullanarak iOS için bir .NET MAUI uygulamasına OCR işlevselliğini entegre edebilirsiniz. Visual Studio'da NuGet aracılığıyla yükleyin ve ardından projenizi iOS platformuna özel olarak paketi içerecek şekilde değiştirin. Görüntüleri işlemek ve metin çıkarmak için IronTesseract kullanın.

IronOCR.iOS paketi PDF belge işlemeyi destekler mi?

Hayır, IronOCR.iOS paketi şu anda yalnızca görüntü dosyalarını işlemekle sınırlıdır ve PDF belgelerini desteklemez. Herhangi bir PDF ile ilgili yapılandırmaların projenizde devre dışı bırakıldığından emin olun.

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

.NET MAUI kullanarak bir iOS uygulaması için OCR kurmak, IronOcr.iOS paketini NuGet üzerinden indirip projenizi iOS için koşullu olarak paketi içerecek şekilde düzenlemeyi ve MainPage.xaml ve MainPage.xaml.cs dosyalarınızı kullanıcı arayüzü oluşturup OCR işlemesini yönetecek şekilde değiştirmeyi içerir.

IronOCR'yi Avalonia projelerinde kullanmak için ek gereklilikler nelerdir?

IronOCR'yi Avalonia projelerinde kullanırken, en son .NET SDK sürümüne ve ayrıca .NET SDK 8.0.101'e sahip olduğunuzdan emin olmanız gerekir. Bu kurulum MAUI'ye benzer ancak bu ek SDK gereklidir.

.NET MAUI projesinde IronOCR kullanarak bir görüntü üzerinde nasıl OCR işlemi yapabilirim?

.NET MAUI projesinde bir görüntü üzerinde OCR işlemi yapmak için IronTesseract nesnesini kullanın. Bir görüntü dosyasını seçmek için FilePicker.PickAsync kullanın, bir OcrInput nesnesine yükleyin ve ardından görüntüyü okuyup metni çıkarmak için IronTesseract kullanın.

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

Evet, Iron Software web sitesinden IronOCR.iOS kullanarak örnek bir .NET MAUI projesi indirilebilir. Bu örnek proje, geliştirme sürecinizi hızlandırmak için Visual Studio'da açabileceğiniz bir zip dosyası olarak sunulmaktadır.

IronOCR'yi mevcut projelere entegre etmek kolay mı?

Evet, IronOCR mevcut C# projelerine entegre etmek oldukça basittir. Detaylı dokümantasyon ve destek ile geliştiriciler kolayca uygulamalarına OCR işlevselliği ekleyebilirler.

IronOCR herhangi bir görüntü ön işleme kapasitesi sunuyor mu?

IronOCR, gürültü azaltma, döndürme düzeltme ve kontrast ayarlaması gibi OCR doğruluğunu artırmaya yönelik görüntü ön işleme özelliklerini içerir.

IronOCR bulut uygulamalarında kullanılabilir mi?

Elbette, IronOCR bulut ortamlarına dağıtılabilir, OCR yeteneklerine ihtiyaç duyan web uygulamaları ve hizmetler için uygundur.

IronOCR ile OCR sonuçlarının doğruluğunu nasıl artırırım?

IronOCR ile OCR doğruluğunu artırmak için yüksek kaliteli giriş görüntülerini sağlamaya, uygun dil paketlerini kullanmaya ve kütüphanenin görüntü ön işleme özelliklerinden yararlanmaya özen gösterin.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,896,332 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronOcr
örnek çalıştır görüntünüzün aranabilir metin haline gelmesini izleyin.