.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ştur

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 indir

Diğer platformlarla ilgili sorunları önlemek için, yalnızca iOS platformunu hedeflerken paketi içerecek şekilde csproj dosyasını değiştirin. 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. Yeni bir ItemGroup elementi böyle 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ç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="MAUI IronOCRiOSSample.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="MAUI IronOCRiOSSample.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, IronTesseract'i bir sınıfta bir kez başlatmayı unutmayın. Onu doğrudan bir metotta başlatmak etkili değil ve beklenmeyen hatalara yol açabilir. Ardından bir dosya seçmek için FilePicker.PickAsync metodunu kullanın. FileResult'den, okumak için bir akış açın. Yeni bir OcrInput nesnesi oluşturun ve bu nesneyi resmi yüklemek için kullanın. 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 MAUI IronOCRiOSSample;

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 MAUI IronOCRiOSSample;

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 MAUI_IronOCRiOSSample

    Public Partial 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(sender As Object, e As EventArgs)
            Try
                Dim options As New PickOptions With {
                    .PickerTitle = "Please select a file"
                }

                Dim result = Await FilePicker.PickAsync(options)
                If result IsNot Nothing Then
                    Using stream = Await result.OpenReadAsync()
                        ' Instantiate OcrInput
                        Using ocrInput As New OcrInput()
                            ' Load image stream
                            ocrInput.LoadImage(stream)

                            ' Perform OCR
                            Dim ocrResult = ocrTesseract.Read(ocrInput)
                            OutputText.Text = ocrResult.Text
                        End Using
                    End Using
                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.](/static-assets/ocr/how-to/setup-ios/MAUI IronOCRiOSSample.zip)

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 6,136,090 | Sürüm: 2026.7 yeni yayınlandı
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.