.NET MAUI'de Android Üzerinde OCR Uygulama Yöntemleri
.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. .NET MAUI, birden fazla platformda çalışabilen yerel kullanıcı arayüzleri oluşturma sürecini basitleştirmeyi amaçlar.
IronOcr.Android paketi, Android'e OCR desteği getirir!
.NET MAUI'de Android'de IronOCR kullanımı
- Android'de OCR uygulamak için C# kütüphanesini indir
- .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 Android Paketi
IronOcr.Android paketi, .NET çapraz platform projeleri aracılığıyla Android cihazlarda OCR özelliklerini etkinleştirir. Vanilla IronOCR paketi gerekli değildir.
NuGet ile yükleyin
Install-Package IronOcr.Android
.NET MAUI projesi oluştur
Visual Studio'yu açın ve "Yeni proje oluştur"a tıklayın. MAUI arayın, .NET MAUI Uygulamasını seçin ve "İleri" tıklayın.

IronOcr.Android 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" üzerine sağ tıklayın ve "NuGet Paketlerini Yönet..." seçeneğini seçin.
- "Gözat" sekmesini seçin ve "IronOcr.Android" arayın.
- "IronOcr.Android" paketini seçip "Yükle" üzerine tıklayın.

Diğer platformlarla sorun yaşamamak için csproj dosyanızı yalnızca Android platformunu hedefleyerek paketi dahil edecek şekilde değiştirin. Bunu yapmak için:
-
Proje üzerine sağ tıklayın ve "Proje Dosyasını Düzenle" seçeneğini seçin.
-
Yeni bir ItemGroup elementi oluşturun:
<ItemGroup Condition="$(TargetFramework.Contains('android')) == true"> </ItemGroup>XML -
Yeni oluşturduğumuz ItemGroup içine "IronOcr.Android" PackageReference taşırız.
Yukarıdaki adımlar, "IronOcr.Android" paketinin örneğin iOS platformları için kullanılmasını engelleyecektir (bu amaçla IronOcr.iOS yükleyin).
"MainActivity.cs" Düzenle
- Platformlar -> Android dizininden "MainActivity.cs" dosyasını açın.
MainActivityyöntemini ekleyin veInitializeyöntemini çağırın.
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.OS;
using IronOcr;
namespace MAUI IronOCRAndroidSample
{
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
public class MainActivity : MauiAppCompatActivity
{
public MainActivity()
{
// Initialize IronTesseract for OCR purposes
IronTesseract.Initialize(this);
}
}
}
"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 IronOCRAndroidSample.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
İlk olarak, IronTesseract nesnesinin bir örneğini oluşturun. Aşağıdaki kodda gösterildiği gibi, sınıf içinde IronTesseract'ün bir kez başlatıldığından emin olun. Bunu bir yöntem içinde örneklemek etkisiz olabilir ve beklenmedik hatalara yol açabilir.
Ardından, bir dosya seçmek için FilePicker.PickAsync yöntemini kullanın, sonra FileResult üzerinden bir okuma akışı açın. Yeni bir OcrInput nesnesi oluşturun ve görüntüyü buna yükleyin. Görüntü üzerinde OCR gerçekleştirin ve metni geri alın. Sonuçlanan metni nihayet bir etikete gösterin.
using IronOcr;
using Microsoft.Maui.Controls;
using System;
using System.Diagnostics;
using System.IO;
using System.Threading.Tasks;
namespace MAUI IronOCRAndroidSample
{
public partial class MainPage : ContentPage
{
// Initialize IronTesseract once in a class
private readonly IronTesseract ocrTesseract = new IronTesseract();
public MainPage()
{
InitializeComponent();
// Apply License key if required
IronOcr.License.LicenseKey = "IRONOCR.MYLICENSE.KEY.1EF01";
}
private async void ReadFileOnImport(object sender, EventArgs e)
{
try
{
// Configure the file picker
var options = new PickOptions
{
PickerTitle = "Please select a file"
};
// Await user's file selection
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 for OCR processing
ocrInput.AddImage(stream);
// Perform OCR
var ocrResult = ocrTesseract.Read(ocrInput);
// Display extracted text
OutputText.Text = ocrResult.Text;
}
}
catch (Exception ex)
{
// Log and handle exceptions
Debug.WriteLine(ex);
}
}
}
}
Son olarak, .csproj dosyasında sadece Android için projeyi derlediğinizden emin olun. Eklediğimiz paket yalnızca Android için olduğundan, projeyi tüm platformlar için derlemek başarısız olacaktır.
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.
[Projeyi indirmek için buraya tıklayın.](/static-assets/ocr/how-to/setup-android/MAUI IronOCRAndroidSample.zip)
Avalonia'da IronOcr.Android Kullanımı
MAUI'ye benzer şekilde, IronOcr.Android, yukarıda açıklanan aynı kurulumla bir Avalonia projesinde kullanılabilir.
iOS üzerinde OCR yapmak isterseniz, daha fazla bilgi edinmek için şu makaleye gidin: ".NET MAUI'de iOS üzerinde OCR Yapma Yöntemleri"
Sıkça Sorulan Sorular
.NET MAUI uygulamasında Android'de OCR işlemini nasıl gerçekleştirebilirim?
Android'de .NET MAUI kullanarak OCR gerçekleştirmek için, Visual Studio ile NuGet üzerinden IronOcr.Android paketini yükleyin. IronTesseract sınıfını kullanarak görüntüleri işleyin ve metin çıkarın. Projenizin Android'i hedefleyecek şekilde yapılandırıldığından emin olmak için .csproj dosyasını uygun şekilde değiştirin.
IronOcr.Android paketinin amacı nedir?
IronOcr.Android paketi, .NET MAUI projeleri kapsamında Android cihazlarda OCR yeteneklerini sunmak üzere özel olarak tasarlanmıştır. Tekstil tanıma özelliklerinin Android'i hedefleyen çoklu platform uygulamalarına entegrasyonunu basitleştirir.
.NET MAUI projesini Android OCR için nasıl yapılandırırım?
IronOcr.Android paketini NuGet üzerinden yükleyerek .NET MAUI projenizi yapılandırın. .csproj dosyasını, Android'i hedef alacak şekilde yeniden gruplandırısız bir UnsurGrubu oluşturup IronOcr.Android PackageReference'yı içine taşıyarak ayarlayın. Bu, diğer platformlar için oluşturma sorunlarını önler.
OCR kurulumu için MainActivity.cs'de hangi değişiklikler gereklidir?
Platformlar -> Android altında bulunan MainActivity.cs dosyasında, MainActivity yöntemini ekleyin ve IronTesseract'tan Initialize yöntemini çağırın. Bu, görüntülerden metin işleme yeteneklerini kurar.
OCR özelliklerini entegre etmek için MainPage.xaml'ı nasıl düzenlerim?
MainPage.xaml'ı, dosya yükleme için bir düğme ve OCR sonuçlarını görüntülemek için bir etiket ekleyerek düzenleyin. Kullanıcı girdiğini etkili bir şekilde yönetmek için OCR işlem mantığıyla etkileşim kuracak gerekli kullanıcı arayüzü unsurlarını tanımlayın.
OCR işlemi sırasında hata ile karşılaşırsam ne yapmalıyım?
Try-catch bloklarını OCR işleme kodunuzun etrafına yerleştirerek istisnaları karşılayın. Hataları tanımlamanıza ve sorunları çözmenize yardımcı olması için Debug.WriteLine veya başka bir kayıt tutma mekanizmasını kullanarak herhangi bir hatayı kaydedin.
IronOcr.Android paketini Avalonia projelerinde kullanmak mümkün müdür?
Evet, IronOcr.Android paketi, .NET MAUI'deki gibi benzer bir kurulum işlemiyle Avalonia projelerinde kullanılabilir. OCR işlevselliğini etkinleştirmek için proje yapılandırmasını buna göre ayarlayın.
Android OCR için .NET MAUI kullanarak tamamlanmış bir örnek projeyi nerede bulabilirim?
Android OCR için .NET MAUI ile kullanarak IronOCR kütüphanesiyle tamamlanmış bir örnek proje, rehberde sağlanan bir bağlantı ile indirilebilir. Proje, Visual Studio'da açılmaya hazır bir şekilde sıkıştırılmış dosya olarak gelir.
IronOcr.Android paketi, çoklu platform projesinde yalnızca Android'i nasıl hedef alır?
IronOcr.Android paketinin yalnızca Android'i hedeflemesini sağlamak için, .csproj dosyasını Android için koşullu bir UnsurGrubu oluşturarak ayarlayın ve IronOcr.Android PackageReference'yi bu grubun içine taşıyın. Bu, diğer platformlar için oluştururken çatışmaları önler.
How do you initialize IronTesseract in a MAUI project?
Within your 'MainActivity', initialize IronTesseract by calling `IronTesseract.Initialize(this);` to prepare it for OCR operations in your Android app.

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ılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.