.NET MAUI'de iOS'ta OCR Nasıl Yapılır
.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!
.NET MAUI'de iOS'ta IronOCR nasıl kullanılır?
- iOS'ta OCR yapmak için C# kütüphanesini indirin
- .NET MAUI Uygulaması projesi oluştur
- XAML dosyasını düzenleyerek bir etkinleştirme düğmesi ve çıktı metni görüntüleyin
- İlgili C# dosyasını düzenleyerek OCR uygulayın
- Hızlı başlamak için örnek projeyi indirin
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
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.

IronOCR.iOS Kütüphanesini Dahil Et
Kütüphane çeşitli şekillerde eklenebilir. Belki de en kolay yol NuGet kullanmaktır.
- Visual Studio içinde, "Dependencies > NuGet" üzerine sağ tıklayın ve "NuGet Paketlerini Yönet..." seçeneğini seçin.
- "Gözat" sekmesini seçin ve "IronOcr.iOS" aratın.
- "IronOcr.iOS" paketini seçin ve "Paket Ekle"ye tıklayın.

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:
- Projenizin *.csproj dosyası üzerine sağ tıklayın ve "Proje Dosyasını Düzenle" seçeneğini seçin.
-
Ş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 - "IronOcr.iOS" PackageReference öğesini az önce oluşturduğumuz
ItemGroupiç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>
"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
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.
.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.
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.

