ASP.NET MVC'de Dinamik Çizgikodu Nasıl Üretilir 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 gereksinim, barkod görüntüleri oluşturma ve görüntüleme yeteneğidir. Barkod görüntüleri, veriyi makine tarafından okunabilir bir formatta temsil etmek için kullanılır ve bir barkod tarayıcı tarafından okunabilir.
ASP.NET MVC'de barkod görüntülerini dinamik olarak oluşturmak ve görüntülemek, sektör lideri C# kütüphanesi IronBarcode kullanılarak gerçekleştirilabilir. Bu kütüphane, geliştiricilerin Code 39, Code 128 ve QR Code gibi çeşitli formatlarda platformlar arasında kolayca barkod görüntüleri oluşturmasına olanak tanıyan API'ler sağlar. IronBarcode, çapraz platform işlevselliklerine izin verir ve daha fazla kaynak uyumluluğu sağlar, System.Drawing.Common ve .NET Grafik API'si yerine, .NET 6'dan itibaren Windows'a özgü olanlar kullanılmadan.
IronBarcode
IronBarcode, .NET uygulamalarında barkod görüntüleri oluşturmak, okumak ve manipüle etmek 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ştirilmiş ve bakım yapılmaktadır. IronBarcode, Code 128, Code 39, QR Code, Data Matrix ve PDF417 gibi geniş bir barkod formatı yelpazesini destekler. Kütüphane ayrıca özel boyutlar, renkler ve yazı tipleri ile barkod oluşturma ve barkod görüntülerine metin ve logo ekleme özellikleri sağlar.
Barkod oluşturmanın yanı sıra, IronBarcode barkod görüntülerini okumak ve decode etmek için özellikler de içerir. Kütüphane, görüntülerden, PDF belgelerinden ve canlı kamera akışlarından barkodları okuyabilir ve decode edebilir. Hem 1D hem de 2D barkod formatlarını destekler ve hatta kısmen gizlenmiş veya zarar görmüş barkodları tanıyabilir.
Ön Koşullar
.NET uygulamasında IronBarcode ile çalışmaya başlamadan önce, karşılanması gereken bazı ön koşullar vardır.
- .NET Framework veya .NET Core: IronBarcode, hem .NET Framework hem de .NET Core ile çalışmak üzere 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 Library: IronBarcode kütüphanesini Iron Software web sitesinden veya NuGet paket yöneticisi aracılığıyla indirin ve yükleyin. Kütüphane, aşağıdaki komut çalıştırılarak NuGet Paket Yöneticisi Konsolu kullanılarak kurulabilir:
Install-Package BarCode.
IronBarcode, geliştirme için ücretsizdir ancak ticari ve dağıtım amaçları için lisanslanması gereklidir. Tüm işlevselliklerini test etmek için ücretsiz deneme sürümünü deneyebilirsiniz.
Yeni Bir ASP.NET MVC Projesi Oluşturma
Visual Studio'yu açın ve Yeni bir proje oluştur'a tıklayın.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 1
Yeni pencerede "ASP.NET MVC (Web App) Model View Controller"'ı bulun ve seçin ve İleri düğmesine tıklayın.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 2
Yeni projenin adını ve konumunu girin ve İleri'ye tıklayın.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 3
Kullanmak istediğiniz .NET sürümünü seçin ve diğer tüm seçenekleri olduğu gibi bırakın ve Oluştur'a tıklayın.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 4
Bir .NET projesi oluşturuldu.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 5
IronBarcode Yükleme
1. NuGet Paket Yöneticisi Kullanarak
Bu seçenek Visual Studio içinde mevcuttur ve IronBarcode paketini doğrudan çözümünüze yükleyecektir. Araçlara gidin ve NuGet Paket Yöneticisi'ne tıklayın.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 6
NuGet Paket Yöneticisi'nde arama kutusunu kullanarak IronBarcode kütüphanesini arayın. Mevcut paketler listesinden IronBarcode seçeneğini seçin.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 7
2. Visual Studio Komut Satırını Kullanarak
Visual Studio menüsünde Araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi konsolu'na gidin.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 8
Paket yöneticisi konsolu sekmesine aşağıdaki satırı girin: Install-Package BarCode.
Paket indirilecek/yüklenecek ve mevcut projede kullanılmaya hazır hale gelecektir.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 9
IronBarcode Kullanarak Barkod Görüntüleri Oluşturma ve Görüntüleme
Artık ortamımız kurulmuş durumda, ASP.NET MVC'de dinamik olarak barkod görüntüsü oluşturmak için nasıl kod yazacağımızı öğrenebiliriz.
İlk olarak, model klasörü altında 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 görüntülerini saklamak için wwwroot klasörünün altına "GeneratedBarcode" adlı bir klasör oluşturun.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 10
"controllers" klasöründeki HomeController.cs sınıfınıza aşağıdaki eylem metodunu 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 kodda ki action metodu, daha sonra oluşturacağımız Görünümden üretilen gönderme isteğini işleyecektir. 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 Iron Drawing gibi ek kütüphaneler gerekebilir. Daha detaylı API belgelerine buradan ulaşılabilir.
Artık barkod generator metodumuz 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'yi seçin.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 11
Razor Görünümü seçin ve ekle'ye tıklayın.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 12
Aşağıdaki resimde gösterilen parametreleri seçin ve Ekle'ye tıklayın. Bu metod için otomatik olarak bir görünüm ekleyecektir.
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 13
Oluşturulan kodu, arayüzü istediğiniz şekilde değiştirmek için düzenleyebilirsiniz.
@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");}
}
Artık her şey hazır, sadece _Layout.cshtml dosyasını açın ve navbar içindeki CreateBarcode seçeneğini eklemek için kodu 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ınıza metin yazın ve Barkod oluştur düğmesine tıklayın; barkod görüntüsünü dinamik olarak oluşturup gösterecektir.
5.1. Çıktı
ASP.NET MVC'de Dinamik Olarak Barkod Oluşturma ve Görüntüleme: Şekil 14
6. Sonuç
ASP.NET MVC uygulamalarında barkod görüntülerini dinamik olarak oluşturmak ve görüntülemek, .NET uygulamalarında barkod görüntülerini oluşturmak, okumak ve manipüle etmek için geniş bir özellik yelpazesine sahip güçlü bir .NET barkod kütüphanesi olan IronBarcode kütüphanesi kullanılarak gerçekleştirilebilir. .NET çerçevesini, Visual Studio'yu ve IronBarcode kütüphanesini yükleme gibi ön koşulları karşılayarak, geliştiriciler kolayca ASP.NET MVC projeleri oluşturabilir ve Code 39, Code 128 ve QR Code gibi çeşitli formatlarda barkod görüntüleri oluşturabilir ve görüntüleyebilir. IronBarcode kütüphanesi, geliştiricilere özel boyutlar, renkler ve yazı tipleri ile barkod oluşturma ve barkod görüntülerine metin ve logo ekleme özellikleri sağlar. Barkod oluşturmanın yanı sıra, IronBarcode barkod görüntülerini okumak ve decode etmek için özellikler de içerir. IronBarcode ile geliştiriciler, iş ihtiyaçlarını karşılayan güçlü ve dinamik web uygulamaları kolayca oluşturabilir. Bu konuyla ilgili bir öğretici için aşağıdaki bağlantıyı ziyaret edin. Barkod ve QR kodu oluşturma üzerine adım adım bir öğretici için, lütfen aşağıdaki bağlantıya başvurun.
Sıkça Sorulan Sorular
ASP.NET MVC'de barkod resimlerini dinamik olarak nasıl üretebilirim?
IronBarcode kütüphanesini ASP.NET MVC projenize API'sini entegre ederek dinamik olarak barkod resimleri üretmek için kullanabilirsiniz. Bu C# kütüphanesi, çeşitli barkod formatlarını destekler ve boyut, renk ve metin ayarlama açısından özelleştirme sağlar.
ASP.NET MVC uygulamalarında IronBarcode kullanmanın faydaları nelerdir?
IronBarcode, Windows'a özgü .NET Graphics API'lerine dayanmadan çapraz platform işlevsellik sağlar. Birçok barkod formatını destekler, özelleştirme seçenekleri sunar ve resimlerden, PDF belgelerinden ve canlı kamera beslemelerinden barkodları okuyup çözümleyebilir.
IronBarcode'u bir ASP.NET MVC projesine nasıl entegre ederim?
IronBarcode'u bir ASP.NET MVC projesine entegre etmek için, Visual Studio'da NuGet Paketi Yöneticisi üzerinden kütüphaneyi kurmalı, barkod verileri için bir model kurmalı, barkod üretimini yönetmek için bir denetleyici oluşturmalı ve kullanıcı etkileşimi ve barkod görüntüleme için bir görünüm tasarlamalısınız.
IronBarcode kullanarak ASP.NET MVC'de hangi barkod formatları desteklenir?
IronBarcode, ASP.NET MVC'de Code 39, Code 128, QR Code, Veri Matrisi ve PDF417 dahil çeşitli barkod formatlarının üretilmesini destekler.
IronBarcode ile üretilmiş barkod resimlerinin görünümünü özelleştirebilir miyim?
Evet, IronBarcode, barkod formatı, renkler, boyutlar, yazı tipleri ve barkodlarına metin veya logolar eklemek dahil barkod resimlerinin özelleştirilmesini sağlar.
ASP.NET MVC'de barkod üretirken sorunları nasıl gideririm?
ASP.NET MVC'de barkod üretirken sorunlarla karşılaşırsanız, IronBarcode kütüphanesinin doğru bir şekilde kurulu olduğundan, tüm bağımlılıkların karşılandığından ve barkod veri modeli ve denetleyici kurulumunun doğru bir şekilde uygulanıp uygulanmadığından emin olun. Ek rehberlik için IronBarcode belgelerine başvurun.
ASP.NET MVC uygulamasında IronBarcode kullanarak barkodlar çözmek mümkün mü?
Evet, IronBarcode, kısmen hasarlı olsalar bile resimlerden, PDF belgelerinden ve canlı kamera ekranlarından barkodları çözmek için işlevsellik içerir.
IronBarcode ile bir ASP.NET MVC projesi kurmanın ön koşulları nelerdir?
IronBarcode kütüphanesi, Iron Software web sitesinden indirilebilir veya NuGet Paketi Yöneticisi aracılığıyla kurulabilir, .NET Framework veya .NET Core, Visual Studio'nun kurulu olması gerekir.




