Bir barkod, verileri makine tarafından okunabilir bir biçimde görsel olarak temsil eder. Genellikle, bir ürün veya şirket hakkında, sayılar ve/veya paralel çizgiler şeklinde kodlanmış veri veya bilgiler içerir. ASP.NET MVC’de Data Matrix, Aztec, Code 128 vb. gibi çeşitli türde barkodlar üretebiliriz. Bu yazımızda ASP.NET MVC uygulamasında barkod görüntüsü oluşturmayı ve görüntülemeyi öğreneceğiz. Bahsedilen adımları takip ettikten sonra kendi ASP.NET MVC Barkod Üreticimize sahip olacağız. Öyleyse başlayalım.
Makale aşağıdaki konuları kapsayacaktır:
- ASP.NET MVC Barkod Oluşturucunun Özellikleri
- Barkod Görüntüsü Oluşturmak ve Görüntülemek için .NET API
- Barkod Görüntüsü Oluşturma ve Görüntüleme Adımları
- Demo ASP.NET MVC Barkod Oluşturucu
- Kaynak Kodunu İndir
ASP.NET MVC Barkod Oluşturucunun Özellikleri
ASP.NET barkod oluşturucumuz aşağıdaki özelliklere sahip olacaktır.
- Aşağıdaki barkod sembolojisi türlerini oluşturun:
- Kod128
- Kod11
- Kod39
- QR
- Veri matrisi
- EAN13
- EAN8
- ITF14
- PDF417
- Oluşturulan barkod görüntüsünü aşağıdaki formatlarda kaydedin:
- png
- jpeg
- BMP
- EMF
- SVG
- Oluşturulan barkod görüntüsünü önizleyin.
- Oluşturulan barkod görüntüsünü yerel diskinize indirin.
ASP.NET MVC’de Barkod Görüntüsü Oluşturmak ve Görüntülemek için .NET API
Barkod görüntüleri oluşturmak ve bunları ASP.NET MVC uygulamasında görüntülemek için Aspose.BarCode for .NET API’yi kullanacağız. Çok çeşitli 1D ve 2D barkod türleri oluşturmamıza ve tanımamıza olanak tanır. Lütfen API’nin DLL’sini indirin veya NuGet kullanarak kurun.
PM> Install-Package Aspose.BarCode
ASP.NET MVC’de Barkod Görüntüsü Oluşturma ve Görüntüleme Adımları
Aşağıdaki adımları izleyerek ASP.NET MVC uygulamasında bir barkod görüntüsü oluşturabilir ve görüntüleyebiliriz:
- Öncelikle yeni bir proje oluşturun ve ASP.NET Web Uygulaması (.NET Framework) proje şablonunu seçin.
- Ardından, Yeni bir ASP.NET Web Uygulaması Oluştur iletişim kutusunda MVC’yi seçin ve ardından oluşturmayı seçin.
- Ardından, NuGet Paket Yöneticisi’ni açın ve Aspose.BarCode for .NET paketini kurun.
- Ardından, oluşturulan barkod görüntülerini kaydetmek için yeni bir “Görüntüler” klasörü oluşturun.
- Şimdi, barkod bilgilerini saklamak için “Modeller” klasöründe “Barkod” adıyla bir model oluşturun.
// Barkod temel bilgileri
public class Barcode
{
public string Text { get; set; }
public BarcodeType BarcodeType { get; set; }
public BarCodeImageFormat ImageType { get; set; }
}
- Ayrıca, desteklenen barkod sembolojilerini listelemek için numaralandırma ekleyin. “Models” klasörü altında ayrı bir sınıfa eklenebilir veya Barcode.cs sınıf dosyasına ekleyebiliriz.
// Barkod sembolleri
public enum BarcodeType
{
Code128,
Code11,
Code32,
QR,
Datamatrix,
EAN13,
EAN8,
ITF14,
PDF417
}
- Benzer şekilde, desteklenen görüntü biçimlerini listelemek için numaralandırma ekleyin.
// Resim formatları
public enum ImageType
{
Png,
Jpeg,
Bmp,
Emf,
Svg
}
- Ardından, Views/Home/index.cshtml dosyasını açın ve içeriğini aşağıdaki komut dosyasıyla değiştirin.
@using BarcodeGeneratorMVC.Models
@model Barcode
@{
ViewBag.Title = "Home Page";
}
<div class="row">
<div class="col-lg-6">
<h2>Generate Barcode</h2>
@using (Html.BeginForm())
{
<div class="form-group">
@Html.Label("Select Barcode Type:", new { @class = "col-md-12 control-label" })
<div class="col-md-12">
@Html.DropDownListFor(model => model.BarcodeType,
new SelectList(Enum.GetValues(typeof(BarcodeType))),
"Select Barcode", new { @class = "form-control" })
</div>
</div>
<div class="form-group">
@Html.Label("Enter Your Text:", new { @class = "col-md-12 control-label" })
<div class="col-md-12">
@Html.EditorFor(m => m.Text, new { @class = "form-control" })
</div>
</div>
<div class="form-group">
@Html.Label("Select Image Format:", new { @class = "col-md-12 control-label" })
<div class="col-md-12">
@Html.RadioButtonFor(model => model.ImageType, ImageType.Png) @Html.Label("PNG")
@Html.RadioButtonFor(model => model.ImageType, ImageType.Jpeg) @Html.Label("JPG")
@Html.RadioButtonFor(model => model.ImageType, ImageType.Bmp) @Html.Label("BMP")
@Html.RadioButtonFor(model => model.ImageType, ImageType.Emf) @Html.Label("EMF")
@Html.RadioButtonFor(model => model.ImageType, ImageType.Svg) @Html.Label("SVG")
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<input type="submit" class="btn btn-default" value="Generate Barcode" />
</div>
</div>
}
</div>
<div class="col-lg-6">
<h2>View Barcode Image</h2>
@{
if (!string.IsNullOrEmpty(@ViewBag.ImagePath))
{
<div class="form-group">
<div class="col-md-12">
<img src=@Url.Content(@ViewBag.ImagePath) alt="Barcode Image" />
</div>
</div>
<div class="form-group">
<div class="col-md-12">
@Html.ActionLink("Download Image", "Download", "Home", new
{ // routeValues
ImagePath = @ViewBag.ImagePath,
ImageName = @ViewBag.ImageName
},
null)
</div>
</div>
}
}
</div>
<hr />
</div>
- Ardından, “HomeController” sınıfını açın ve gönderi isteğini işlemek için yeni bir eylem sonucu ekleyin.
[HttpPost]
public ActionResult Index(Barcode barcode)
{
string codeText = barcode.Text;
string imageName = barcode.Text + "." + barcode.ImageType;
string imagePath = "/Images/" + imageName;
string imageServerPath = Server.MapPath("~" + imagePath);
var encodeType = EncodeTypes.Code128;
switch (barcode.BarcodeType)
{
case BarcodeType.Code128:
encodeType = EncodeTypes.Code128;
break;
case BarcodeType.ITF14:
encodeType = EncodeTypes.ITF14;
break;
case BarcodeType.EAN13:
encodeType = EncodeTypes.EAN13;
break;
case BarcodeType.Datamatrix:
encodeType = EncodeTypes.DataMatrix;
break;
case BarcodeType.Code32:
encodeType = EncodeTypes.Code32;
break;
case BarcodeType.Code11:
encodeType = EncodeTypes.Code11;
break;
case BarcodeType.PDF417:
encodeType = EncodeTypes.Pdf417;
break;
case BarcodeType.EAN8:
encodeType = EncodeTypes.EAN8;
break;
case BarcodeType.QR:
encodeType = EncodeTypes.QR;
break;
}
using (Stream str = new FileStream(imageServerPath, FileMode.Create, FileAccess.Write))
{
BarcodeGenerator gen = new BarcodeGenerator(encodeType, codeText);
gen.Save(str, barcode.ImageType);
}
ViewBag.ImagePath = imagePath;
ViewBag.ImageName = imageName;
return View();
}
- Bundan sonra, “HomeController"da görüntü indirme talebini işlemek için yeni bir eylem sonucu ekleyin.
public ActionResult Download(string ImagePath, string ImageName)
{
string contentType = "application/img";
return File(ImagePath, contentType, Path.GetFileName(ImageName));
}
- Son olarak uygulamayı çalıştırın.
Demo ASP.NET MVC Barkod Oluşturucu
Az önce oluşturduğumuz ASP.NET MVC Barcode Generator uygulamasının demosu aşağıdadır.
Kaynak Kodunu İndir
ASP.NET MVC Barcode Generator uygulamasının kaynak kodunun tamamını GitHub adresinden indirebilirsiniz.
Ücretsiz Lisans Alın
Kitaplığı değerlendirme sınırlamaları olmaksızın denemek için ücretsiz bir geçici lisans alabilirsiniz.
Çözüm
Bu yazıda, bir ASP.NET MVC uygulamasında bir barkod görüntüsünün nasıl oluşturulacağını ve görüntüleneceğini öğrendik. Oluşturulan barkod görüntüsünü programlı olarak nasıl indireceğimizi de gördük. Ayrıca, belgeleri kullanarak Aspose.BarCode for .NET API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen forumda bizimle iletişime geçmekten çekinmeyin.