ASP.NET MVC'de Dinamik Olarak Barkod Nasıl Oluşturulur ve Görüntülenir
ASP.NET MVC, geliştiricilerin sağlam ve dinamik web uygulamaları oluşturmasına olanak tanıyan popüler bir web geliştirme çerçevesidir. Web uygulamalarında yaygın bir gereklilik, barkod görüntülerini oluşturma ve görüntüleme yeteneğidir. Barkod görüntüleri, makine tarafından okunabilir formatta verileri temsil etmek için kullanılır ve bir barkod tarayıcısı tarafından okunabilir.
ASP.NET MVC'de dinamik olarak barkod görüntüleri oluşturmak ve görüntülemek, piyasadaki lider C# kütüphanesi IronBarcode kullanılarak gerçekleştirilebilir. Bu kütüphane, geliştiricilerin platformlar arası olarak Code 39, Code 128 ve QR Code gibi çeşitli biçimlerde barkod görüntüleri kolayca oluşturmasını sağlayan API'ler sunar. IronBarcode, .NET 6'dan itibaren Windows'a özgü olan System.Drawing.Common ve .NET Graphics API'ye bağlı kalmadan platformlar arası işlevsellik sunar ve daha fazla kaynak uyumluluğuna izin verir.
IronBarcode
IronBarcode, .NET uygulamalarında barkod görüntüleri oluşturma, okuma ve manipülasyon için geniş bir özellik yelpazesi sunan popüler bir .NET barkod kütüphanesidir. Kütüphane, .NET bileşenleri ve kütüphanelerinde uzmanlaşmış bir yazılım geliştirme şirketi olan Iron Software tarafından geliştirilir ve sürdürülenmektedir. IronBarcode, Code 128, Code 39, QR Code, Data Matrix ve PDF417 dahil olmak üzere geniş bir barkod formatı yelpazesi için destek sağlar. Kütüphane ayrıca, barkod görüntülerine metin ve logolar eklemek için özel boyutlar, renkler ve yazı tipleriyle barkodlar oluşturma özelliklerini de sağlar.
Barkod üretmenin yanı sıra, IronBarcode, barkod görüntülerini okuma ve kod çözme özelliklerini de içerir. Kütüphane, görüntülerden, PDF belgelerinden ve canlı kamera akışlarından barkod okuyup çözebilir. Hem 1D hem de 2D barkod formatlarını destekler ve kısmen gizlenmiş veya hasar görmüş barkodları bile tanıyabilir.
Gereksinimler
Bir .NET uygulamasında IronBarcode ile çalışmadan önce, karşılanması gereken birkaç ön koşul vardır.
- .NET Framework veya .NET Core: IronBarcode hem .NET Framework hem de .NET Core ile çalışacak şekilde tasarlanmıştır. Geliştirme ortamınızda uygun .NET sürümünün yüklü olduğundan emin olun.
- Visual Studio: IronBarcode, kolay geliştirme ve test için Visual Studio ile entegre edilebilir. Visual Studio Community, Professional veya Enterprise sürümleri kullanılabilir. Visual Studio web sitesinden indirilebilir.
- IronBarcode Kütüphanesi: Iron Software web sitesinden veya NuGet paketi yöneticisi üzerinden IronBarcode kütüphanesini indirip yükleyin. Kütüphane, şu komutu çalıştırarak NuGet Package Manager Console kullanılarak kurulabilir:
Install-Package BarCode.
IronBarcode geliştirme için ücretsizdir, ancak ticari ve dağıtım amaçlı lisanslanmalıdır. Tüm işlevselliğini test etmek için ücretsiz deneme deneyebilirsiniz.
Yeni ASP.NET MVC Projesi Oluşturma
Visual Studio'yu açın ve Yeni proje oluştur'a tıklayın.

Yeni pencerede, "ASP.NET MVC (Web App) Model View Controller" bulun ve seçin ve Sonraki butonuna tıklayın.

Yeni projenin adını ve konumunu girin ve Sonraki'ye tıklayın.

Kullanmak istediğiniz .NET sürümünü seçin ve diğer tüm seçenekleri oldukları gibi bırakıp Oluştur'a tıklayın.

Bir .NET projesi oluşturulur.

IronBarcode Kurulumu
1. NuGet Paket Yöneticisini Kullanma
Bu seçenek Visual Studio içinde mevcuttur ve IronBarcode paketini doğrudan çözümünüze yükleyecektir. Araçlar bölümüne gidin ve gösterildiği gibi NuGet Paket Yöneticisi'ne tıklayın.

NuGet Paket Yöneticisi arama kutusunu kullanarak IronBarcode kütüphanesini arayın. Mevcut paketlerin listesinden IronBarcode seçeneğini seçin.

2. Visual Studio Komut Satırını Kullanma
Visual Studio menüsünde Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi konsoluna gidin.

Paket yöneticisi konsol sekmesine şu satırı girin: Install-Package BarCode.
Paket mevcut projeye indirilip/yüklenecek ve kullanım için hazır hale gelecektir.

IronBarcode Kullanarak Barkod Görüntüleri Oluşturma ve Görüntüleme
Artık ortamımızı ayarladık, ASP.NET MVC'de dinamik olarak barkod görüntüsü oluşturmak için nasıl kod yazacağımıza başlayabiliriz.
Öncelikle, model klasörü altına GenerateBarcodeModel.cs adında bir sınıf oluşturun.
using System.ComponentModel.DataAnnotations;
namespace GenerateBarcodeMVCCore6_Demo.Models
{
public class GenerateBarcodeModel
{
[Display(Name = "Enter Barcode Text")]
public string Barcode { get; set; }
}
}
using System.ComponentModel.DataAnnotations;
namespace GenerateBarcodeMVCCore6_Demo.Models
{
public class GenerateBarcodeModel
{
[Display(Name = "Enter Barcode Text")]
public string Barcode { get; set; }
}
}
Imports System.ComponentModel.DataAnnotations
Namespace GenerateBarcodeMVCCore6_Demo.Models
Public Class GenerateBarcodeModel
<Display(Name := "Enter Barcode Text")>
Public Property Barcode() As String
End Class
End Namespace
Oluşturulan barkod resimlerini depolamak için wwwroot klasörü altına "GeneratedBarcode" adında bir klasör oluşturun.

"controllers" klasörünüzdeki HomeController.cs sınıfına aşağıdaki işlem yöntemini ekleyin.
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System;
using System.Drawing;
using System.IO;
namespace YourNamespace.Controllers
{
public class HomeController : Controller
{
private readonly IWebHostEnvironment _environment;
public HomeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateBarcode()
{
return View();
}
// Handling POST operation inside this Action method
[HttpPost]
public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
{
try
{
// Create a barcode using the input text
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128);
// Adding annotation text to barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Styling the Barcode
barcode.ResizeTo(400, 120);
barcode.ChangeBarCodeColor(Color.Red);
barcode.SetMargins(10);
// Define path to save the barcode image
string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
// Save the generated barcode as a PNG file
string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");
barcode.SaveAsPng(filePath);
// Get the file name and URL for the generated barcode image
string fileName = Path.GetFileName(filePath);
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedBarcode/{fileName}";
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception)
{
throw;
}
return View();
}
}
}
using Microsoft.AspNetCore.Mvc;
using IronBarCode;
using System;
using System.Drawing;
using System.IO;
namespace YourNamespace.Controllers
{
public class HomeController : Controller
{
private readonly IWebHostEnvironment _environment;
public HomeController(IWebHostEnvironment environment)
{
_environment = environment;
}
public IActionResult CreateBarcode()
{
return View();
}
// Handling POST operation inside this Action method
[HttpPost]
public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
{
try
{
// Create a barcode using the input text
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128);
// Adding annotation text to barcode
barcode.AddBarcodeValueTextBelowBarcode();
// Styling the Barcode
barcode.ResizeTo(400, 120);
barcode.ChangeBarCodeColor(Color.Red);
barcode.SetMargins(10);
// Define path to save the barcode image
string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
// Save the generated barcode as a PNG file
string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");
barcode.SaveAsPng(filePath);
// Get the file name and URL for the generated barcode image
string fileName = Path.GetFileName(filePath);
string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/GeneratedBarcode/{fileName}";
ViewBag.QrCodeUri = imageUrl;
}
catch (Exception)
{
throw;
}
return View();
}
}
}
Imports Microsoft.AspNetCore.Mvc
Imports IronBarCode
Imports System
Imports System.Drawing
Imports System.IO
Namespace YourNamespace.Controllers
Public Class HomeController
Inherits Controller
Private ReadOnly _environment As IWebHostEnvironment
Public Sub New(ByVal environment As IWebHostEnvironment)
_environment = environment
End Sub
Public Function CreateBarcode() As IActionResult
Return View()
End Function
' Handling POST operation inside this Action method
<HttpPost>
Public Function CreateBarcode(ByVal generateBarcode As GenerateBarcodeModel) As IActionResult
Try
' Create a barcode using the input text
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(generateBarcode.Barcode, BarcodeWriterEncoding.Code128)
' Adding annotation text to barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Styling the Barcode
barcode.ResizeTo(400, 120)
barcode.ChangeBarCodeColor(Color.Red)
barcode.SetMargins(10)
' Define path to save the barcode image
Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode")
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
' Save the generated barcode as a PNG file
Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png")
barcode.SaveAsPng(filePath)
' Get the file name and URL for the generated barcode image
Dim fileName As String = System.IO.Path.GetFileName(filePath)
Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}/GeneratedBarcode/{fileName}"
ViewBag.QrCodeUri = imageUrl
Catch e1 As Exception
Throw
End Try
Return View()
End Function
End Class
End Namespace
Yukarıdaki koddaki işlem yöntemi, daha sonra oluşturacağımız Görünümden üretilen gönderme isteğini ele alacaktır. IronBarcode ile barkod formatını, görüntü elemanını, barkod yazı tipini ve HTML görüntü elemanını özelleştirebilirsiniz. Daha fazla özelleştirme için ek kütüphaneler gerekebilir, örneğin IronDrawing barkod fontunu kurmak için. Daha detaylı API belgelerine buradan ulaşabilirsiniz.
Artık barkod oluşturucu yöntemimiz için bir görünüm oluşturabiliriz.
HomeController.cs dosyasında, CreateBarcode yöntemine sağ tıklayın ve Görünüm Ekle seçeneğine tıklayın.

Razor Görünümü seçin ve ekle'ye tıklayın.

Aşağıdaki resimde gösterilen parametreleri seçin ve Ekle'ye tıklayın. Bu yöntem için otomatik olarak bir görünüm ekleyecektir.

Oluşturulan kodu istediğiniz gibi arayüzü değiştirecek şekilde değiştirebilirsiniz.
@model GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel
@{
ViewData["Title"] = "CreateBarcode";
}
<h1>CreateBarcode</h1>
<form asp-action="CreateBarcode" method="post">
<div>
<label asp-for="Barcode"></label>
<input asp-for="Barcode" />
<span asp-validation-for="Barcode"></span>
</div>
<button type="submit">Generate Barcode</button>
</form>
@if (ViewBag.QrCodeUri != null)
{
<div>
<img src="@ViewBag.QrCodeUri" alt="Barcode Image" />
</div>
}
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
Şimdi her şey ayarlandı, sadece _Layout.cshtml dosyasını açıp CreateBarcode seçeneğini eklemek için kodu navbar içine ekleyin.
<li class="nav-item">
<a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
Artık uygulamayı çalıştırın, metin alanına metin yazın ve Barkod oluştur düğmesine tıklayın ve barkod görüntüsünü dinamik olarak oluşturacak ve gösterecek.
5.1. Çıktı

6. Sonuç
ASP.NET MVC uygulamalarında barkod görüntülerini dinamik olarak oluşturmak ve görüntülemek, güçlü bir .NET barkod kütüphanesi olan IronBarcode kullanılarak gerçekleştirilebilir - .NET uygulamalarında barkod görüntüleri oluşturma, okuma ve manipülasyon için geniş bir özellik yelpazesi sunar. Dot NET framework, Visual Studio ve IronBarcode kütüphanesi gibi ön gereksinimleri yerine getirerek, geliştiriciler kolayca ASP.NET MVC projeleri oluşturabilir ve Code 39, Code 128 ve QR Code gibi farklı formatlarda barkod görüntüleri oluşturabilir ve görüntüleyebilir. IronBarcode kütüphanesi, özel boyutlar, renkler ve yazı tipleriyle barkod oluşturma, ve barkod görüntülerine metin ve logolar ekleme özelliklerini geliştiricilere sağlar. Barkod üretmenin yanı sıra, IronBarcode, barkod görüntülerini okuma ve kod çözme özelliklerini de içerir. IronBarcode ile geliştiriciler, iş ihtiyaçlarını karşılayan güçlü ve dinamik web uygulamaları kolayca oluşturabilirler. Bu konu ile ilgili bir eğitimi ziyaret etmek için aşağıdaki link adresine bakın. Barkod ve QR kod oluşturma konularında adım adım bir eğitim için lütfen link adresine başvurun.
Sıkça Sorulan Sorular
ASP.NET MVC'de dinamik olarak barkod görüntüleri nasıl üretebilirim?
ASP.NET MVC'de dinamik olarak barkod görüntüleri üretmek için IronBarcode kütüphanesini projenize entegre ederek kullanabilirsiniz. Bu C# kütüphanesi, boyutlar, renkler ve metin konusunda özelleştirme sağlarken çeşitli barkod formatlarını destekler.
ASP.NET MVC uygulamalarında IronBarcode kullanmanın avantajları nelerdir?
IronBarcode, Windows'a özgü .NET Graphics API'lerine bağlı kalmadan, platformlar arası işlevsellik sağlar. Birden fazla barkod formatını destekler, özelleştirme seçenekleri sunar ve görüntülerden, PDF'lerden ve canlı kamera akışlarından barkod okuyabilir ve çözebilir.
IronBarcode'u bir ASP.NET MVC projesine nasıl entegre edebilirim?
IronBarcode'u bir ASP.NET MVC projesine entegre etmek için, Visual Studio'da NuGet Paket Yöneticisi aracılığıyla kütüphaneyi yüklemeniz, barkod verileri için bir model ayarlamanız, barkod üretimini yönetmek için bir denetleyici oluşturmanız ve kullanıcı etkileşimi ve barkod görüntüleme için bir görünüm tasarlamanız gerekir.
ASP.NET MVC'de IronBarcode kullanarak hangi barkod formatlarını üretmek desteklenir?
IronBarcode, ASP.NET MVC'de Code 39, Code 128, QR Code, Data Matrix ve PDF417 gibi geniş bir barkod formatı yelpazesini üretmeyi destekler.
IronBarcode ile üretilen barkod görüntülerinin görünümünü özelleştirebilir miyim?
Evet, IronBarcode barkod formatı, renkler, boyutlar, yazı tipleri gibi birçok parametreyi ayarlamaya ve barkoda metin veya logo eklemeye olanak tanır.
ASP.NET MVC'de barkod üretirken sorunlarla karşılaştığımda nasıl sorun giderebilirim?
ASP.NET MVC'de barkod üretirken sorunlarla karşılaşırsanız, IronBarcode kütüphanesinin doğru yüklendiğinden, tüm bağımlılıkların sağlandığından ve barkod veri modeli ve denetleyici ayarlarının doğru bir şekilde uygulandığından emin olun. Ek rehberlik için IronBarcode'un belgesine başvurun.
IronBarcode kullanarak ASP.NET MVC uygulamasında barkod çözmek mümkün müdür?
Evet, IronBarcode, görüntüler, PDF belgeleri ve canlı kamera yayınları gibi çeşitli kaynaklardan barkod çözme işlevselliği içerir, hatta kısmen hasar görmüş olsalar bile.
IronBarcode ile bir ASP.NET MVC projesi ayarlamak için ön koşullar nelerdir?
.NET Framework veya .NET Core, Visual Studio ve IronBarcode kütüphanesi gibi şeylerin Iron Software web sitesinden indirilip yüklendiğinden veya NuGet Paket Yöneticisi aracılığıyla kurulmuş olduğundan emin olmanız gerekir.




