Altbilgi içeriğine atla
IRONBARCODE KULLANARAK

.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

  1. Belge Tarayıcı SDK'sını kullanmak için IronOCR C# Kütüphanesini yükleyin.
  2. Gereken kontrollerle bir .NET MAUI formu tasarlayın.
  3. MediaPicker.CapturePhotoAsync yöntemi ile fotoğraf çekin.
  4. Çekilen fotoğrafı Stream'e dönüştürün.
  5. Akışı OcrInput LoadImage yöntemine geçirin.
  6. IronTesseract Read yöntemi kullanılarak OCR gerçekleştirin.
  7. 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

  1. 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.
  2. Ç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.
  3. 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.
  4. Ç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.
  5. Ö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.
  6. 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.
  7. .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.
  8. 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.

Bir .NET MAUI Uygulamasında Belge Tarayıcı SDK'sı Nasıl Kullanılır: Şekil 1 - .NET MAUI Uygulama Projesi

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

Bir .NET MAUI Uygulamasında Belge Tarayıcı SDK'sı Nasıl Kullanılır: Şekil 2 - Proje Yapılandırması

  • 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.

Bir .NET MAUI Uygulamasında Belge Tarayıcı SDK'sı Nasıl Kullanılır: Şekil 3 - IronOCR NuGet Paketi

  • 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" />

            <Image x:Name="cameraPreview" />

            <Button Text="Capture" Clicked="OnCaptureClicked" />

            <Label x:Name="textLabel" Text="Recognized Text:"/>
        </VerticalStackLayout>
    </ScrollView>
</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"
             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" />

            <Image x:Name="cameraPreview" />

            <Button Text="Capture" Clicked="OnCaptureClicked" />

            <Label x:Name="textLabel" Text="Recognized Text:"/>
        </VerticalStackLayout>
    </ScrollView>
</ContentPage>
XML

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ı

Bir .NET MAUI Uygulamasında Belge Tarayıcı SDK'sı Nasıl Kullanılır: Şekil 4 - MainPage.xaml Çıktısı

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:

  1. 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.
  2. 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.
  3. Çı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");
            }
        }
    }
}
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 Namespace
$vbLabelText   $csharpLabel

Kod 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

Bir .NET MAUI Uygulamasında Belge Tarayıcı SDK'sı Nasıl Kullanılır: Şekil 5 - Tarama PDF Oluşturma Çıktısı

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

Bir .NET MAUI Uygulamasında Belge Tarayıcı SDK'sı Nasıl Kullanılır: Şekil 6 - Tarama Dökümantasyonu

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.

Sıkça Sorulan Sorular

.NET MAUI kullanarak bir belge tarayıcı uygulaması nasıl oluşturabilirim?

.NET MAUI kullanarak IronOCR sayesinde bir belge tarayıcı uygulaması oluşturabilirsiniz. Visual Studio'daki NuGet Paket Yöneticisi üzerinden IronOCR'u yükleyerek başlayın, ardından uygulamanızın kullanıcı arayüzünü .NET MAUI ile tasarlayın ve IronTesseract'ın Read yöntemini kullanarak tarama işlevini uygulayın.

Bir belge tarayıcı uygulaması için IronOCR kullanmanın faydaları nedir?

IronOCR, metin tanımada yüksek doğruluk, çoklu dil desteği ve çeşitli dosya formatları ile uyumluluk sunar. Ayrıca görüntü ön işleme, hızlı performans ve .NET uygulamaları ile sorunsuz entegrasyon sağlar, bu da onu belge tarayıcı uygulamaları için sağlam bir seçenek yapar.

.NET MAUI projesine IronOCR nasıl kurulur?

.NET MAUI projesine IronOCR kurmak için, Visual Studio'yu açın ve 'IronOCR' araması yaparak NuGet Paket Yöneticisi'ni kullanın. Paketi projenize ekleyin ve OCR işlevlerini kullanmaya başlayın.

Bir belge tarayıcı uygulamasında görüntüleri yakalama ve işleme adımları nelerdir?

Süreç, görüntüleri yakalamak için MediaPicker kullanmayı, bunları bir akış formatına dönüştürmeyi ve ardından metin çıkarma işlemi yapmak için IronOCR'un IronTesseract'ını kullanmayı içerir. Çıkarılan metin, uygulamanın kullanıcı arayüzünde görüntülenebilir.

IronOCR tarafından OCR işleme için hangi dosya formatları destekleniyor?

IronOCR, TIFF, JPEG, PNG ve PDF dahil geniş bir dosya formatı yelpazesini destekleyerek çeşitli belge tarama ve metin çıkarma özelliklerine olanak tanır.

IronOCR, birden fazla dilde OCR'i destekleyebilir mi?

Evet, IronOCR 125'ten fazla dilde OCR desteği sunar, bu da çeşitli dilsel bağlamlarda metin tanıma gereksinimi olan uygulamalar için uygundur.

.NET MAUI çapraz platform geliştirimi nasıl kolaylaştırır?

.NET MAUI, tek bir kod tabanı ile Android, iOS ve Windows cihazlar arasında sorunsuz dağıtım yaparak, geliştiricilerin çapraz platform mobil uygulamalar oluşturmalarına olanak tanır.

.NET MAUI ile bir belge tarayıcı uygulaması geliştirmek için önkoşullar nelerdir?

Ön koşullar arasında temel C# programlama bilgisi, .NET MAUI iş yükü ile Visual Studio 2022 ve NuGet üzerinden yüklenmiş IronOCR kütüphanesi bulunmaktadır.

Belge tarayıcı uygulamamın platformlar arası uyumluluğunu nasıl test edebilirim?

.NET MAUI'nin çapraz platform yeteneklerinden yararlanarak uygulamanızı Android, iOS ve Windows cihazlarında dağıtarak metin çıkarma işlevselliğini ve doğruluğunu test edebilirsiniz.

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

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara