IRONSOFTWAREHOME

ASP.NET Core Barkod Tarayıcı

Curtis Chau
Curtis Chau
Updated: 2 Mart 2026

Giriş

ASP.NET Core, modern web uygulamaları oluşturmak için platformlar arası bir çerçevedir. Razor Pages modeli, HTTP isteklerini sayfa tabanlı bir yaklaşımla ele alarak, sunucu tarafı barkod işlemleri için uygun hale getirir. IronBarcode ile, yüklenen resimler IFormFile nesneleri olarak alınabilir, bayt dizilerine dönüştürülebilir ve geçici dosyaları diske yazmadan doğrudan barkod okuyucuya aktarılabilir.

Bu makale, yüklenen görsellerden barkod ve QR kodlarını taramak ve sunucudan barkod üretmek için IronBarcode'un bir ASP.NET Core Razor Pages uygulamasına nasıl entegre edileceğini açıklamaktadır.

IronBarcode: C# Barkod Kütüphanesi

IronBarcode, .NET uygulamalarında barkod okuma ve yazma için sağlam bir API sağlar. Kütüphane, görüntü işleme işlemlerini dahili olarak ele alır, böylece geliştiriciler ayrı bir görüntü işleme kütüphanesine ihtiyaç duymadan ham baytları, dosya yollarını veya akışları doğrudan BarcodeReader.Read yöntemine iletebilirler. QR Kodu, Code 128, Code 39, PDF417, EAN ve daha pek çok barkod formatını destekler.

Web uygulamaları için IronBarcode özellikle kullanışlıdır çünkü görüntüleri tamamen bellek içinde işler. Yüklenen dosyalar asla diske kaydedilmez, bu da dağıtımı basitleştirir ve temizleme yükünü azaltır. Aynı kütüphane, BarcodeWriter.CreateBarcode ile barkodları da oluşturur, bu da onu hem okuma hem yazma için tek bir bağımlılık haline getirir.

ASP.NET Core'da Barkod Tarayıcı Oluşturma Adımları

ASP.NET Core Razor Pages ve IronBarcode kullanarak web tabanlı bir barkod tarayıcı oluşturmak için bu adımları izleyin.

Ön Koşullar

  1. Visual Studio 2022 veya daha yenisi (veya .NET desteği olan herhangi bir IDE)
  2. .NET 6.0 veya daha yeni SDK

Projeyi Oluşturun

Yeni bir ASP.NET Core Web Uygulaması (Razor Pages) projesi oluşturun. Bu, Visual Studio'nun proje sihirbazı aracılığıyla veya komut satırından yapılabilir:

dotnet new webapp -n BarcodeWebApp
SHELL

IronBarcode Kütüphanesini Yükleyin

NuGet Paket Yöneticisi Konsolu kullanarak IronBarcode kütüphanesini yükleyin. Visual Studio'da Tools > NuGet Package Manager > Package Manager Console'ye gidin ve çalıştırın:

PM > Install-Package BarCode

Alternatif olarak, komut satırından dotnet add package BarCode ile yükleyin. En son sürüm NuGet web sitesinde bulunmaktadır.

Ön Yüz

Önyüz, bir dosya yükleme formundan ve sonuç gösterim alanından oluşur. Form, ikili dosya yüklemelerini enctype="multipart/form-data" ile işler. Barkod algılandığında, sonuç başarı uyarısı olarak yüklenen görüntünün altında görünür.

Index.cshtml dosyasındaki içeriği aşağıdakilerle değiştirin:

@page
@model IndexModel
@{
    ViewData["Title"] = "Barcode Scanner";
}

<div class="container mt-4">
    <h1 class="mb-4">Barcode Scanner</h1>

    <div class="card mb-4">
        <div class="card-header"><h5>Upload & Read Barcode</h5></div>
        <div class="card-body">
            <form method="post" asp-page-handler="Upload" enctype="multipart/form-data">
                <div class="mb-3">
                    <label for="file" class="form-label">Select a barcode image:</label>
                    <input type="file" class="form-control" id="file"
                           name="UploadedFile" accept="image/*" />
                </div>
                <button type="submit" class="btn btn-primary">Scan Barcode</button>
            </form>

            @if (Model.ImageDataUrl != null)
            {
                <div class="mt-3">
                    <h6>Uploaded Image:</h6>
                    <img src="@Model.ImageDataUrl" alt="Uploaded barcode"
                         style="max-width: 300px;" class="img-thumbnail" />
                </div>
            }

            @if (Model.BarcodeResult != null)
            {
                <div class="alert alert-success mt-3">
                    <strong>Barcode Value:</strong> @Model.BarcodeResult
                </div>
            }

            @if (Model.ErrorMessage != null)
            {
                <div class="alert alert-warning mt-3">@Model.ErrorMessage</div>
            }
        </div>
    </div>
</div>
HTML

Yerleşim, ASP.NET Core'un varsayılan şablonunda zaten bulunan Bootstrap sınıflarını kullanır. Form, Upload sayfa işleyicisine gönderilir ve koşullu bloklar yüklenen resim önizlemesini, çözümlenen sonucu veya bir hata mesajını görüntüler.

Örnek Giriş Barkodları

Taramayı test etmek için aşağıdaki örnek barkodlar kullanılabilir. Her resim farklı bir format ve değer kodlar:

ASP.NET Core Barkod Tarayıcı - Bir URL kodlayan örnek QR Kod girişi

"https://ironsoftware.com" kodlayan QR Kod

ASP.NET Core Barcode Scanner - Sample Code 128 barcode input

Kod 128 barkod şifreleme "IronBarcode-2026"

ASP.NET Core Barcode Scanner - Sample Code 39 barcode input

"HELLO123" kodlayan Code 39 barkodu

IronBarcode ile Barkod Taraması

Sunucu tarafı mantığı, yüklenen dosyayı OnPostUploadAsync yönteminde işler. Yüklenen IFormFile bayt dizisine okunur ve doğrudan BarcodeReader.Read'ya iletilir. Bu, geçici dosyaların kaydedilmesini önler ve işlemi tamamen bellekte tutar.

Index.cshtml.cs dosyasındaki içeriği şu şekilde değiştirin:

using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using IronBarCode;

public class IndexModel : PageModel
{
    [BindProperty]
    public IFormFile? UploadedFile { get; set; }

    public string? BarcodeResult { get; set; }
    public string? ErrorMessage { get; set; }
    public string? ImageDataUrl { get; set; }

    public void OnGet()
    {
    }

    public async Task<IActionResult> OnPostUploadAsync()
    {
        if (UploadedFile == null || UploadedFile.Length == 0)
        {
            ErrorMessage = "Please select an image file.";
            return Page();
        }

        try
        {
            using var ms = new MemoryStream();
            await UploadedFile.CopyToAsync(ms);
            byte[] imageBytes = ms.ToArray();

            // Store image as base64 for preview display
            string base64 = Convert.ToBase64String(imageBytes);
            ImageDataUrl = $"data:{UploadedFile.ContentType};base64,{base64}";

            // Read barcode from uploaded image bytes
            var results = BarcodeReader.Read(imageBytes);

            if (results != null && results.Count() > 0)
            {
                BarcodeResult = string.Join("\n",
                    results.Select(r => r.Value));
            }
            else
            {
                ErrorMessage = "No barcode detected in the uploaded image.";
            }
        }
        catch (Exception ex)
        {
            ErrorMessage = $"Error processing image: {ex.Message}";
        }

        return Page();
    }
}

Yukarıdaki koddaki başlıca adımlar:

  1. Yüklemeyi al - IFormFile, [BindProperty] yoluyla bağlanır ve POST işleyicisinde alınır.
  2. Baytlara dönüştür - Dosya, bir MemoryStream'a kopyalanır ve bayt dizisine dönüştürülür. Bu, base64 dizgileri yerine ASP.NET Core'un IFormFile'u için uyarlanmış web tarayıcı örneğinde kullanılan aynı yaklaşımdır.
  3. Barkodu oku - BarcodeReader.Read(imageBytes) resmi işler ve algılanan tüm barkodları döndürür.
  4. Sonucu görüntüle - Algılanan tüm barkod değerleri birleştirilir ve arayüzde görüntülenir.

Aşağıdaki GIF, bir barkod resmi yükleyip çözülen sonucu göstererek barkod okuyucunun nasıl çalıştığını göstermektedir:

ASP.NET Core Barkod Tarayıcı - Bir barkodun yüklenmesi ve okunmasının gösterimi

ASP.NET Core uygulamasında yüklenen bir barkod görüntüsünü tarayan barkod okuyucu

Base64 Resim Verilerini İşleme

Görüntü verilerini base64 dizgeleri olarak alan uygulamalar için (örneğin, web kamerası çekimlerinden veya JavaScript tuvali), aynı BarcodeReader.Read yöntemi base64'den çözülen bayt dizileri ile çalışır. Bu desen, görüntü verilerini AJAX ile gönderen tek sayfalık uygulamalarda yaygındır.

public string ReadBarCode(string imageDataBase64)
{
    // Decode the base64 image data
    var splitObject = imageDataBase64.Split(',');
    byte[] imageByteData = Convert.FromBase64String(
        (splitObject.Length > 1) ? splitObject[1] : splitObject[0]);

    // Read barcode directly from byte array
    var results = BarcodeReader.Read(imageByteData);

    return $"{DateTime.Now}: Barcode is ({results.First().Value})";
}

Bu yaklaşım, virgül üzerinde bölme yaparak ve gerçek base64 yükünü alarak hem ham base64 hem de veri URI formatlarını (örneğin, data:image/png;base64,...) ele alır. Bu deseni kullanarak tam bir Blazor uygulaması için Blazor entegrasyon kılavuzunu inceleyin.

Sunucuda Barkod Üretimi

IronBarcode sunucu tarafında da barkod üretebilir. Aynı uygulamaya bir üretim uç noktası eklemek BarcodeWriter.CreateBarcode ile kolaydır:

public IActionResult OnPostGenerate()
{
    var barcode = BarcodeWriter.CreateBarcode(
        "https://ironsoftware.com", BarcodeEncoding.QRCode);
    byte[] barcodeBytes = barcode.ToPngBinaryData();

    return File(barcodeBytes, "image/png", "generated-barcode.png");
}

Üretilen barkod, bir dosya indirimi olarak döndürülür. Aşağıdaki resim, OnPostGenerate işleyici tarafından üretilen QR kodu çıktısını göstermektedir:

ASP.NET Core Barkod Tarayıcı - Sunucu tarafından üretilen QR kod çıktısı

BarcodeWriter.CreateBarcode ile sunucu tarafında üretilen QR kod

Daha fazla barkod üretim seçeneği için barkod resmi üretim kılavuzuna ve barkod stilini özelleştirme kılavuzuna bakın.

Uygulamayı Çalıştırma

Projeyi Visual Studio'dan veya komut satırından çalıştırın:

dotnet run
SHELL

Uygulama, genellikle https://localhost:5001 veya benzeri ile belirtilen launchSettings.json bağlantı noktasında başlar. Barkod tarayıcı arabirimini görmek için ana sayfaya gidin.

Sonuç

Bu makalede, ASP.NET Core Razor Pages ve IronBarcode kullanarak sunucu tarafı bir barkod tarayıcısı nasıl oluşturulacağını gösterildi. Aynı yaklaşım, ASP.NET Core MVC denetleyicileri, Web API uç noktaları ve Blazor Sunucu uygulamaları ile de çalışır, sadece görüntü verilerinin nasıl alındığını adapte etmeniz gerekir. IronBarcode, resim işlemlerini dahili olarak yönetir, bu nedenle entegrasyon, web çerçevesi ne olursa olsun minimal kod gerektirir.

Diğer .NET platformlarında barkod okuma için .NET MAUI barkod tarayıcı kılavuzuna ve barkod okuma nasıl yapılır kılavuzlarına bakın. IronBarcode ile ilgili daha fazla öğretici için barkod okuma öğreticisine gidin.

Hızlı bir başlangıç yapmak için tam BarcodeWebApp projesini indirin ve dotnet run ile çalıştırın.

IronBarcode, geliştirme ve ticari kullanım için lisanslanmalıdır. Lisanslama detayları burada bulunmaktadır.

Sıkça Sorulan Sorular

ASP.NET Core kullanarak Razor Pages'da bir barkod tarayıcı nasıl uygulayabilirim?

IronBarcode'u ASP.NET Core Razor Pages projenizde bir barkod tarayıcı uygulamak için kullanabilirsiniz. Kütüphane, QR Kodları, Code 128 ve Code 39 gibi çeşitli barkod formatlarını okuyabilmenizi sağlar, görüntüleri yükleyip, BarcodeReader.Read ile işlemek mümkündür.

IronBarcode ile hangi tür barkodları okuyabilirim?

IronBarcode, QR Kodları, Code 128 ve Code 39 gibi çeşitli barkod formatlarını okumayı destekler, bu da onu çeşitli uygulamalar için çok yönlü hale getirir.

ASP.NET Core projesinde barkod tarama için görüntüleri nasıl yüklerim?

ASP.NET Core projesinde, görüntüleri IFormFile kullanarak yükleyebilirsiniz. IronBarcode bu görüntüleri işleyerek içerdikleri barkodları okur.

IronBarcode, ASP.NET Core'da sunucu tarafında barkod üretebilir mi?

Evet, IronBarcode, BarcodeWriter.CreateBarcode yöntemi kullanarak ASP.NET Core'da sunucu tarafında barkodlar üretebilir, böylece dinamik olarak barkod oluşturup göstermek mümkündür.

BarcodeReader.Read yöntemi ne için kullanılır?

IronBarcode'da BarcodeReader.Read yöntemi, görüntülerden barkodları çözmek için kullanılır, ASP.NET Core'da bir barkod tarayıcı uygulamanın bir parçası olarak temel bir rol oynar.

ASP.NET Core'da aynı kütüphane ile hem QR Kodları hem de barkodlar taranabilir mi?

Evet, IronBarcode, aynı ASP.NET Core uygulaması içinde hem QR Kodlarını hem de çeşitli diğer barkod formatlarını taramanıza olanak tanır ve birleştirilmiş bir çözüm sunar.

C# içinde barkod tarama için IronBarcode kullanmanın faydaları nelerdir?

IronBarcode, kolay entegrasyon, birden fazla barkod formatı desteği ve sağlam sunucu tarafı barkod oluşturma yetenekleri sunar, bu da onu C# uygulamalarında barkod tarama için verimli bir seçenek haline getirir.

What method does IronBarcode provide to read barcodes from byte arrays?

IronBarcode provides the BarcodeReader.Read method to process images and read barcodes directly from byte arrays.

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

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 2,422,100Sürüm:2026.9yeni yayınlandı

Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package BarCode
nuget.org/packages/BarCode/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. Gözat'ı seçin ve "IronBarCode" arayın
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

  1. ~/Libs gibi bir yere, Çözüm dizininizde IronBarCode'u indirip çıkarın
  2. Visual Studio Çözüm Gezgini'nde, Başvurulara sağ tıklayın. Gözat'ı seçin, "IronBarCode.dll"

$999 adresinden lisanslar

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez