NET MAUI Kullanarak C#'da Barkod Nasıl Okunur & Tarama Yapılır

.NET MAUI Barkod Tarayıcı

This article was translated from English: Does it need improvement?
Translated
View the article in English

Giriş

.NET MAUI (.NET Multi-platform App UI), tek bir kod tabanında çapraz platform uygulamaları sorunsuz bir şekilde oluşturmak için kullanılan bir çapraz platform çerçevesidir. Örneğin, tek bir projede Microsoft Windows, iOS ve Android uygulamaları kolayca oluşturabilirsiniz. Diğer platformlar, çerçeveler ve kütüphanelerden farkı, geliştirici topluluğuna kendi projelerinde yerel kontrolleri kullanma yeteneğini ve ekstra bileşenler sağlamasıdır. Sonuç olarak, geliştiriciler kodun her yönünü sıfırdan yazmak zorunda kalmadan bu önceden yapılmış bileşenleri ve hizmetleri kullanarak uygulamaları daha hızlı oluşturabilirler.

Bu makalede, bir .NET MAUI Windows uygulamasında IronBarcode'u entegre ederek bir barkod veya QR kodu taramayı nasıl yapacağımızı açıklayacağız.

IronBarcode: C# Barkod Kütüphanesi

Uygulamamızda barkodları okumak için IronBarcode .NET kütüphanesini kullanacağız. Barkodları okumak için güçlü ve basit bir API sağlar, bu da geliştirmeyi karmaşıklık veya barkod alan bilgisi gerektirmeden yapmayı mümkün kılar. NuGet paket yöneticisi ile kolayca yüklenebilir.

IronBarcode, Code 39, Code 128, PDF417 gibi birçok barkod formatı dahil olmak üzere okuma için çok sayıda barkod formatını destekler. Görüntü dosyaları, bellek akışları ve PDF'ler gibi çeşitli veri formatlarından okuyabilirsiniz.

.NET MAUI Uygulamasında Barkod Okuma Adımları

.NET MAUI uygulamasında barkod okumak için aşağıdaki adımları izleyin.

Ön Koşullar

  1. Visual Studio 2022
  2. Visual Studio'da bir .NET MAUI projesi

IronBarcode Kütüphanesini Yükleyin

NuGet Package Manager Console kullanarak IronBarcode kütüphanesini yükleyebiliriz. Bu konsolu Visual Studio'da açmak için Tools > NuGet Package Manager > Package Manager Console adresine gidin. Ardından, konsola aşağıdaki komutu yazın:

Install-Package BarCode

Bu konsol komutu, MAUI projesinde en son sürüm IronBarcode kütüphanesini indirecektir. Alternatif olarak, NuGet web sitesinde NuGet paketinin en son sürümünü de arayabilirsiniz.

Ön Yüz

İlk adım, ön yüz tasarımını oluşturmaktır. Bunun için iki buton, bir metin alanı ve bir görüntü kutusundan oluşan bir düzen oluşturacağız. Bir buton barkodu seçmek için kullanılacak, diğer buton ise barkod metnini kopyalayacak. Görüntü kutusu seçilen görüntüyü gösterecek.

MainPage.xaml dosyasındaki içeriği aşağıdakiyle değiştirin:

<?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_Barcode.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">

            <Button
                x:Name="ImageSelect"
                Text="Select Barcode"
                SemanticProperties.Hint="Select Image"
                Clicked="SelectBarcode"
                HorizontalOptions="Center" />
            <Image
                x:Name="barcodeImage"
                SemanticProperties.Description="Selected Barcode"
                HeightRequest="200"
                HorizontalOptions="Center" />
            <Editor
                x:Name="outputText"
                Placeholder="Output text"
                HeightRequest="100"
                WidthRequest="500" />
            <Button
                x:Name="copyText"
                Text="Copy"
                SemanticProperties.Hint="Copy Text"
                WidthRequest="150"
                Clicked="CopyEditorText"
                HorizontalOptions="Center" />

        </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"
             x:Class="MAUI_Barcode.MainPage">

    <ScrollView>
        <VerticalStackLayout
            Spacing="25"
            Padding="30,0"
            VerticalOptions="Center">

            <Button
                x:Name="ImageSelect"
                Text="Select Barcode"
                SemanticProperties.Hint="Select Image"
                Clicked="SelectBarcode"
                HorizontalOptions="Center" />
            <Image
                x:Name="barcodeImage"
                SemanticProperties.Description="Selected Barcode"
                HeightRequest="200"
                HorizontalOptions="Center" />
            <Editor
                x:Name="outputText"
                Placeholder="Output text"
                HeightRequest="100"
                WidthRequest="500" />
            <Button
                x:Name="copyText"
                Text="Copy"
                SemanticProperties.Hint="Copy Text"
                WidthRequest="150"
                Clicked="CopyEditorText"
                HorizontalOptions="Center" />

        </VerticalStackLayout>
    </ScrollView>

</ContentPage>
XML

Tüm öğeler ortalandığında dikey bir yığın içindedir. Tercihinize göre değiştirebilirsiniz.

IronBarcode kullanarak Barkod Tarama

Bu bölümde, IronBarcode kütüphanesini kullanarak barkod taramak için gereken kodu açıklayacağız. İlk olarak, dosyayı seçmek ve görüntünün dosya türünü belirtmek için FilePicker kullanacağız. Bundan sonra, FullPath özelliğini kullanarak görüntü dosyasının yolunu alacağız ve ardından görüntü kutusunun kaynağını FullPath değerine ayarlayacağız. Son olarak, metni almak için BarcodeReader işlevindeki Read değerini kullanacağız.

private async void SelectBarcode(object sender, EventArgs e)
{
    // Use FilePicker to allow the user to select an image file.
    var images = await FilePicker.Default.PickAsync(new PickOptions
    {
        PickerTitle = "Pick image",
        FileTypes = FilePickerFileType.Images
    });

    // Get the full path of the selected image file.
    var imageSource = images.FullPath.ToString();

    // Set the source of the Image view to the selected image's path.
    barcodeImage.Source = imageSource;

    // Use IronBarcode to read the barcode from the image file and get the first result.
    var result = BarcodeReader.Read(imageSource).First().Text;

    // Display the read result in the Editor.
    outputText.Text = result;
}
private async void SelectBarcode(object sender, EventArgs e)
{
    // Use FilePicker to allow the user to select an image file.
    var images = await FilePicker.Default.PickAsync(new PickOptions
    {
        PickerTitle = "Pick image",
        FileTypes = FilePickerFileType.Images
    });

    // Get the full path of the selected image file.
    var imageSource = images.FullPath.ToString();

    // Set the source of the Image view to the selected image's path.
    barcodeImage.Source = imageSource;

    // Use IronBarcode to read the barcode from the image file and get the first result.
    var result = BarcodeReader.Read(imageSource).First().Text;

    // Display the read result in the Editor.
    outputText.Text = result;
}
Private Async Sub SelectBarcode(ByVal sender As Object, ByVal e As EventArgs)
	' Use FilePicker to allow the user to select an image file.
	Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
		.PickerTitle = "Pick image",
		.FileTypes = FilePickerFileType.Images
	})

	' Get the full path of the selected image file.
	Dim imageSource = images.FullPath.ToString()

	' Set the source of the Image view to the selected image's path.
	barcodeImage.Source = imageSource

	' Use IronBarcode to read the barcode from the image file and get the first result.
	Dim result = BarcodeReader.Read(imageSource).First().Text

	' Display the read result in the Editor.
	outputText.Text = result
End Sub
$vbLabelText   $csharpLabel

Aşağıda gösterilen kod, metin düzenleyicisinin metnini kopyalamak ve kullanıcının metnin kopyalandığını bildiren bir uyarı mesajı görüntülemek için kullanılacaktır.

private async void CopyEditorText(object sender, EventArgs e)
{
    // Copy the text from the Editor to the clipboard.
    await Clipboard.SetTextAsync(outputText.Text);

    // Show a success message to the user.
    await DisplayAlert("Success", "Text is copied!", "OK");
}
private async void CopyEditorText(object sender, EventArgs e)
{
    // Copy the text from the Editor to the clipboard.
    await Clipboard.SetTextAsync(outputText.Text);

    // Show a success message to the user.
    await DisplayAlert("Success", "Text is copied!", "OK");
}
Private Async Sub CopyEditorText(ByVal sender As Object, ByVal e As EventArgs)
	' Copy the text from the Editor to the clipboard.
	Await Clipboard.SetTextAsync(outputText.Text)

	' Show a success message to the user.
	Await DisplayAlert("Success", "Text is copied!", "OK")
End Sub
$vbLabelText   $csharpLabel

You can find the project source code in this article on GitHub.

Çıktı

Projeyi çalıştırdıktan sonra aşağıdaki çıktıyı göreceksiniz. Görüntü henüz seçilmediği için görünmüyor.

.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Figure 1: Görüntü seçilmediğinde çıktı

Görüntü seçilmediğinde çıktı

Barkod seçildiğinde, aşağıdaki ekran görüntüsündeki gibi görünecek ve QR Kodunun çıktı metni düzenleyicide gösterilecektir.

.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Figure 2: Görüntü seçildikten sonra çıktı

Görüntü seçildikten sonra çıktı

Kopyala düğmesine tıkladığınızda, daha önce açıklanan uyarı penceresi açılacaktır.

.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Figure 3: Kopya uyarısı

Kopya uyarısı

Sonuç

Bu makalede IronBarcode kullanarak .NET MAUI uygulamasında barkodları nasıl okuyabileceğimizi açıkladık. Bir QR kod okuyucu olarak, IronBarcode mükemmel performans gösterir—beklenen çıktıyı tam olarak sağlar. Ayrıca, okunması zor barkodları da okuyabilir. Farklı yazı tipleri kullanarak barkodlar oluşturabilir ve özelleştirebilirsiniz. IronBarcode ile ilgili daha fazla öğretici gönderi için bu bağlantıya bakın.

IronBarcode, geliştirme ve ticari kullanım için lisanslanmalıdır. Lisanslama hakkında daha fazla bilgiyi burada bulabilirsiniz.

Sıkça Sorulan Sorular

.NET MAUI uygulamasında QR kodlarını nasıl tarayabilirim?

.NET MAUI uygulamasında QR kodlarını, IronBarcode kütüphanesini kullanarak tarayabilirsiniz. Kütüphaneyi Visual Studio'daki NuGet Paket Yöneticisi ile yükleyin ve seçili görüntü dosyasından metin çıkarmak için BarcodeReader.Read yöntemini kullanın.

.NET MAUI projesine IronBarcode yükleme süreci nasıldır?

.NET MAUI projesine IronBarcode yüklemek için, Visual Studio'daki NuGet Paket Yöneticisi Konsolu'nu açın ve Install-Package Barcode komutunu çalıştırarak kütüphaneyi indirin ve yükleyin.

IronBarcode kütüphanesi ile hangi barkod formatları okunabilir?

IronBarcode, QR kodları, Code 39, Code 128, PDF417 ve daha fazlası dahil olmak üzere çeşitli barkod formatlarını destekler, böylece uygulamalarınızda çok yönlü barkod okuma yetenekleri sağlar.

.NET MAUI'de bir barkod tarayıcı uygulamasının arayüzünü nasıl tasarlarım?

.NET MAUI'de, bir barkod tarayıcı uygulamasının arayüzü XAML kullanılarak tasarlanabilir. Tipik olarak, MainPage.xaml dosyasında tanımlanabilen butonlar, bir metin alanı ve bir görüntü kutusu içeren bir düzen içerir.

.NET MAUI uygulamamda taranan barkod metnini panoya nasıl kopyalarım?

.NET MAUI uygulamanızda taranan barkod metnini panoya kopyalamak için Clipboard.SetTextAsync yöntemini kullanın. Bu yöntem, bir düğme tıklaması ile tetiklenebilir, bu da işlemi onaylamak için bir uyarı görüntüler.

.NET MAUI ile IronBarcode kullanarak barkod görünümlerini özelleştirmek mümkün mü?

Evet, IronBarcode barkod görünümlerini özelleştirmenizi sağlar, yazı tiplerini, renkleri ve stilleri değiştirme seçenekleri sunarak görsel olarak uyarlanmış barkodlar oluşturmanıza olanak tanır.

Ticari uygulamalarda IronBarcode kullanmak için bir lisansa ihtiyacım var mı?

Evet, IronBarcode'u hem geliştirme hem de ticari amaçlar için kullanmak için bir lisans gereklidir. Lisanslama detayları ve seçenekleri IronBarcode web sitesinde mevcuttur.

.NET MAUI barkod tarayıcı eğitimine ait kaynak kodu nereden erişebilirim?

.NET MAUI barkod tarayıcı eğitimine ait kaynak kodu GitHub'da mevcuttur. Makalede depo bağlantısına kolay erişim için yer verilmiştir.

IronBarcode, .NET MAUI uygulamalarında barkod taramasını nasıl geliştiriyor?

IronBarcode, çoklu barkod formatlarını destekleyen ve .NET MAUI projeleriyle sorunsuz entegrasyon sağlayan sağlam bir API sunarak, .NET MAUI uygulamalarında barkod taramasını geliştirir ve verimli ve doğru barkod okumasını garanti eder.

IronBarcode, barkodların toplu işlenmesini destekliyor mu?

Evet, IronBarcode toplu işlemeyi destekler, bu da geliştiricilerin büyük ölçekli uygulamalar için verimliliği artırarak tek bir işlemde birden fazla barkod oluşturmasını veya okumasını sağlar.

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 2,240,258 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package BarCode
bir örnek çalıştır dizginizin barkoda dönüştüğünü izle.