
.NET MAUI Uygulamasında Belge Tarayıcı SDK Nasıl Kullanılır
Mobil teknolojinin yükselmesiyle birlikte, Scanbot SDK ve Yerel SDK'lar gibi belge tarama uygulamaları hem bireyler hem de işletmeler için vazgeçilmez araçlar haline gelmiştir. Bu eğiticide, .NET Çok Platformlu Uygulama Arayüzü'nün (MAUI) en son sürümünü ve .NET için güçlü bir OCR (Optik Karakter Tanıma) kütüphanesi olan IronOCR'u kullanarak bir belge tarayıcı uygulaması oluşturmayı keşfedeceğiz. .NET MAUI, Android gibi cihazlarda sorunsuz dağıtımı sağlayarak çapraz platform mobil uygulamaların oluşturulmasını basitleştirir. Bu kılavuzun sonunda, görüntülerden ve taranmış dosyalardan metin çıkarabilen kendi belge tarayıcı SDK uygulamanızı geliştirebileceksiniz.
Bir .NET MAUI Uygulamasında Belge Tarayıcı SDK'sı Nasıl Kullanılır
- Belge Tarayıcı SDK'sını kullanmak için IronOCR C# Kütüphanesini yükleyin.
- Gereken kontrollerle bir .NET MAUI formu tasarlayın.
- MediaPicker.CapturePhotoAsync yöntemi ile fotoğraf çekin.
- Çekilen fotoğrafı Stream'e dönüştürün.
- Akışı OcrInput LoadImage yöntemine geçirin.
- IronTesseract Read yöntemi kullanılarak OCR gerçekleştirin.
- OcrResult Text özelliği ile belge metnini görüntüleyin.
IronOCR - C# OCR Kütüphanesi
IronOCR Iron Software, LLC tarafından geliştirilmiş olan, görüntüleri ve taranmış belgeleri düzenlenebilir metne doğru ve etkili bir şekilde dönüştürmek için tasarlanmış ileri düzey bir Optik Karakter Tanıma (OCR) yazılımıdır. OCR teknolojisi, işletmelerin belge işlemlerini nasıl yönettiklerini devrim niteliğinde değiştirerek, taranan belgeler, PDF'ler ve görüntüler gibi çeşitli kaynaklardan değerli bilgiler çıkarmayı kolaylaştırdı.
IronOCR, gelişmiş özellikleri, sağlam performansı ve kolay entegrasyonu sayesinde OCR çözümleri arasında öne çıkıyor. İster uygulamalarınıza OCR özelliklerini entegre etmeyi düşünen bir geliştirici olun, ister belge yönetim süreçlerini kolaylaştırmak isteyen bir işletme olun, IronOCR kapsamlı bir çözüm sunar.
IronOCR'nin Temel Özellikleri
- Yüksek Doğruluk: IronOCR, metin tanımada olağanüstü doğruluk sağlamak için son teknoloji algoritmalar ve makine öğrenme teknikleri kullanır. Düşük çözünürlüklü veya kötü kaliteli taramalar içeren karmaşık belgelerden metinleri doğru bir şekilde çıkarabilir.
- Çoklu Dil Desteği: IronOCR, 125'ten fazla dilde metin tanıma desteği sunar, bu da çeşitli dilsel ortamlarda faaliyet gösteren işletmeler için uygundur.
- Görüntü Ön İşleme: IronOCR, doğruluğu artırmak için gürültü azaltma, kontrast ayarlama ve eğiklik düzeltme gibi çeşitli görüntü ön işleme yetenekleri sağlar. Bu teknikler, özellikle bozuk veya kusurlu görüntülerde, OCR sonuçlarını iyileştirir.
- Çeşitli Dosya Formatları Desteği: IronOCR, TIFF, JPEG, PNG ve PDF dahil olmak üzere geniş bir dosya format yelpazesi destekleyerek farklı belge kaynaklarıyla uyumluluğu sağlar.
- Özelleştirme Seçenekleri: Geliştiriciler, IronOCR'nin davranışını belirli gereksinimleri karşılayacak şekilde özelleştirebilir, tanıma parametreleri ve iş akışı entegrasyonunda esneklik sunar.
- Hızlı ve Ölçeklenebilir: Performans için optimize edilmiş IronOCR, büyük hacimli belgelerden metni hızla çıkarır. Ölçeklenebilir mimarisi, belge hacmine bakılmaksızın sorunsuz işlemi garanti eder.
- .NET Uygulamalarıyla Entegrasyon: IronOCR, .NET uygulamalarıyla sorunsuz bir şekilde entegre olarak OCR işlevselliği için kolay kullanımlı bir API sunar. Bu, geliştirmeyi basitleştirir ve OCR destekli uygulamaların pazara sunma süresini hızlandırır.
- Belge Sınıflandırma ve Veri Çıkartma: Temel metin tanımanın ötesine geçen IronOCR, adlar, adresler veya fatura numaraları gibi belirli veri alanlarını tanımlayarak belge sınıflandırması ve veri çıkarma için gelişmiş özellikler sunar.
Gereksinimler
- Temel C# programlama bilgisi.
- .NET MAUI iş yükü ile Visual Studio 2022 yüklü.
- IronOCR paket kitaplığı, NuGet Paket Yöneticisi üzerinden yüklendi.
1. .NET MAUI Projenizi Ayarlama
- Visual Studio 2022'yi açın ve yeni bir .NET MAUI App projesi oluşturun.

- Uygun bir proje adı seçin ve proje ayarlarınızı yapılandırın.

- Hedef platform cihaz geliştirmesi için gerekli Android ve iOS SDK'larını yüklediğinizden emin olun.
2. IronOCR Kitaplığını Yükleme
- Visual Studio'da Çözümünüze sağ tıklayın.
- 'Sürüm Çözümü için NuGet Paketlerini Yönet' seçeneğini seçin ve Gözat sekmesinden 'IronOCR' arayın.

- IronOCR kitaplığını projenize yükleyin.
3. Arayüzü Tasarlama
MainPage.xaml'in düzenini tasarlamaya başlayalım. Yakalanan fotoğrafı görüntülemek için bir resim kontrolüne, fotoğraf çekmek için bir Yakalama düğmesine ve çıkarılan metni görüntülemek için bir Etiket kontrolüne sahip basit bir düzen oluşturacağız.
İşte MainPage.xaml için XAML kodu:
<?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"
xmlns:d="http://schemas.microsoft.com/dotnet/2021/maui/design"
x:Class="DocumentScanner.MainPage">
<ScrollView>
<VerticalStackLayout Padding="30,0" Spacing="25">
<Image Source="dotnet_bot.png"
HeightRequest="185"
Aspect="AspectFit"
SemanticProperties.Description="dot net bot in a race car number eight" />
<Label Text="Welcome to .NET MAUI Document Scanner SDK"
style="{StaticResource Headline}"
SemanticProperties.HeadingLevel="Level1" />
<Label Text="Using IronOCR"
style="{StaticResource SubHeadline}"
SemanticProperties.HeadingLevel="Level2"
SemanticProperties.Description="Welcome to .NET MAUI Document Scanner SDK" />
<!-- Camera preview -->
<Image x:Name="cameraPreview" />
<!-- Capture button -->
<Button Text="Capture" Clicked="OnCaptureClicked" />
<!-- Text display area -->
<Label x:Name="textLabel" Text="Recognized Text:"/>
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Bu düzen içinde:
- Görevleri dikey olarak yığmak için bir VerticalStackLayout kullanırız.
- cameraPreview adlı Görüntü kontrolü, yakalanan fotoğrafı görüntülemek için kullanılır.
- Düğme kontrolü, tıklandığında OnCaptureClicked etkinlik işleyicisini tetikler.
- Çıkarılan metni görüntülemek için textLabel adlı Etiket kontrolü kullanılır.
Çıktı

4. Belge Tarama İşlevselliğini Uygulama
.NET MAUI Belge Tarama uygulamamıza metin çıkarma işlevselliğini entegre etmek için şu adımları izleyeceğiz:
- Kamera API'sini Kullanın: .NET MAUI tarafından sağlanan kamera API'sini kullanarak uygulamanız içinde doğrudan görüntü dosyaları yakalayın.
- Görüntüyü IronOCR'ye Geçirin: Bir görüntü yakalandığında, güçlü işlevselliğini kullanarak metin çıkarmak amacıyla IronOCR'ye geçirin.
- Çıkarılan Metni Görüntüleyin: Kullanıcı arayüzünüzdeki belirlenmiş alanda çıkarılan metni kullanıcıların görmesi için görüntüleyin.
Bu adımları uygulayan ilgili kod parçacığı burada:
using IronOcr;
namespace DocumentScanner
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private async void OnCaptureClicked(object sender, EventArgs e)
{
License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
try
{
// Request camera permissions
var status = await Permissions.RequestAsync<Permissions.Camera>();
if (status == PermissionStatus.Granted)
{
// Take photo
var photo = await MediaPicker.CapturePhotoAsync();
if (photo != null)
{
// Display captured photo in Image
cameraPreview.Source = ImageSource.FromStream(() => photo.OpenReadAsync().Result);
using (var stream = await photo.OpenReadAsync())
{
// Use a stream from the captured photo for OCR
var ocr = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(stream);
var ocrResult = ocr.Read(ocrInput);
if (string.IsNullOrEmpty(ocrResult.Text))
{
await DisplayAlert("Error", "No Text Detected!", "OK");
}
else
{
await DisplayAlert("Text Detected!", ocrResult.Text, "OK");
// Display extracted text
textLabel.Text = ocrResult.Text;
}
}
}
}
else
{
// Camera permission denied
await DisplayAlert("Permission Denied", "Camera permission is required to capture photos.", "OK");
}
}
catch (Exception ex)
{
// Handle exception
await DisplayAlert("Error", ex.Message, "OK");
}
}
}
}Imports IronOcr
Namespace DocumentScanner
Partial Public Class MainPage
Inherits ContentPage
Public Sub New()
InitializeComponent()
End Sub
Private Async Sub OnCaptureClicked(ByVal sender As Object, ByVal e As EventArgs)
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
Try
' Request camera permissions
Dim status = Await Permissions.RequestAsync(Of Permissions.Camera)()
If status = PermissionStatus.Granted Then
' Take photo
Dim photo = Await MediaPicker.CapturePhotoAsync()
If photo IsNot Nothing Then
' Display captured photo in Image
cameraPreview.Source = ImageSource.FromStream(Function() photo.OpenReadAsync().Result)
Using stream = Await photo.OpenReadAsync()
' Use a stream from the captured photo for OCR
Dim ocr = New IronTesseract()
Dim ocrInput As New OcrInput()
ocrInput.LoadImage(stream)
Dim ocrResult = ocr.Read(ocrInput)
If String.IsNullOrEmpty(ocrResult.Text) Then
Await DisplayAlert("Error", "No Text Detected!", "OK")
Else
Await DisplayAlert("Text Detected!", ocrResult.Text, "OK")
' Display extracted text
textLabel.Text = ocrResult.Text
End If
End Using
End If
Else
' Camera permission denied
Await DisplayAlert("Permission Denied", "Camera permission is required to capture photos.", "OK")
End If
Catch ex As Exception
' Handle exception
Await DisplayAlert("Error", ex.Message, "OK")
End Try
End Sub
End Class
End NamespaceKod Açıklaması
Kodu adım adım inceleyelim:
- MainPage.xaml.cs dosyasında, OnCaptureClicked yöntemi Yakalama düğmesinin tıklama olayını işlemek için tanımlanmıştır.
- IronOCR lisans anahtarı kurulumu yapılır, IronOCR kitaplığını kullanmak için gereklidir.
"YOUR-LICENSE-KEY-HERE"ile kendi lisans anahtarınızı değiştirin. - Uygulamanın cihazın kamerasına erişebilmesi için Kameraya Permissions.
RequestAsync<Permissions.Camera>() kullanılarak izinler istenir. - Fotoğraf çekmek için kamera ile
MediaPicker.CapturePhotoAsync()çağrılır. Başarılı olursa, fotoğraf cameraPreview Görüntü kontrolünde görüntülenir. - Çekilen fotoğraftan bir akış açılır ve IronOCR için giriş olarak kullanılır, bir IronTesseract örneği oluşturulur, görüntü akışı bir OcrInput nesnesine yüklenir ve OCR gerçekleştirilmek üzere Read yöntemi çağrılır. Başarılı olursa, çıkarılan metin textLabel kontrolünde görüntülenir. Eğer metin bulunmazsa, DisplayAlert kullanılarak bir hata mesajı gösterilir.
IronOCR'u daha fazla araştırmak ve ek kod örnekleri için, bu kod örnekleri sayfasını ziyaret edin.
5. Belge Tarayıcı Uygulamasını Test Etme
- Çapraz platform uyumluluğunu sağlamak için uygulamayı çeşitli platformlarda (Android, iOS ve Windows) çalıştırın.
- Çeşitli yazı tipleri, boyutları ve yönleri ile belgeleri taramak gibi farklı senaryoları test edin.
- Çıkarılan metnin doğru ve kullanıcı arayüzünde doğru görüntülendiğini doğrulayın.
Çıktı - Metin Olmadan Tarama Yapılmış Belge

Çıktı - Metin ile Tarama Yapılmış Belge

Sonuç
Bu eğitici ile, .NET MAUI içinde IronOCR belge tarayıcı SDK'sını nasıl kullanacağınızı öğrendiniz. Belge tarama uygulamaları, kağıt belgeleri dijitalleştirmekten makbuzlar ve faturalar gibi depolanmış bilgileri çıkartmaya kadar birçok pratik uygulamaya sahiptir. IronOCR'un güçlü yetenekleri ve .NET MAUI'nin esnekliği ile, çeşitli kullanım senaryolarına yönelik özellik açısından zengin belge tarayıcı uygulamaları oluşturabilirsiniz. Farklı işlevsellikleri deneyin, ek kütüphaneleri keşfedin ve daha da etkileyici uygulamalar oluşturmak için becerilerinizi geliştirmeye devam edin.
IronOCR yetenekleri hakkında daha ayrıntılı bilgi için bu belgeleme sayfasını ziyaret edin.
IronOCR, ticari modda tam işlevselliğini test etmek için ücretsiz deneme sunar. Süresiz lite lisansı $999'den başlar. Kütüphaneyi indirme sayfasından indirip deneyin.

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.
İlgili Makaleler


