ایجاد و نمایش تصویر بارکد در ASP.NET MVC

بارکد به صورت بصری داده ها را به شکلی قابل خواندن توسط ماشین نشان می دهد. معمولاً حاوی داده ها یا اطلاعاتی درباره یک محصول یا یک شرکت است که به صورت اعداد و/یا الگوی خطوط موازی کدگذاری شده است. در ASP.NET MVC می توانیم انواع بارکد مانند Data Matrix، Aztec، Code 128 و … تولید کنیم که در این مقاله با نحوه تولید و نمایش تصویر بارکد در اپلیکیشن ASP.NET MVC آشنا می شویم. پس از انجام مراحل ذکر شده، ما ASP.NET MVC Barcode Generator خود را خواهیم داشت. پس بیایید شروع کنیم.

مقاله باید موضوعات زیر را پوشش دهد:

ویژگی های ASP.NET MVC Barcode Generator

مولد بارکد ASP.NET ما ویژگی های زیر را خواهد داشت.

  1. انواع نمادهای بارکد زیر را ایجاد کنید:
    • کد 128
    • کد 11
    • کد39
    • QR
    • Datamatrix
    • EAN13
    • EAN8
    • ITF14
    • PDF417
  2. تصویر بارکد تولید شده را در قالب های زیر ذخیره کنید:
    • PNG
    • JPEG
    • BMP
    • EMF
    • SVG
  3. پیش نمایش تصویر بارکد تولید شده
  4. تصویر بارکد تولید شده را در دیسک محلی خود دانلود کنید.

NET API برای تولید و نمایش تصویر بارکد در ASP.NET MVC

برای تولید تصاویر بارکد و نمایش آنها در برنامه ASP.NET MVC، از Aspose.BarCode برای .NET API استفاده خواهیم کرد. این به ما امکان می دهد طیف گسترده ای از 1D و 2D [انواع بارکد] را تولید و تشخیص دهیم. لطفاً DLL API را دانلود یا با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.BarCode

مراحل تولید و نمایش تصویر بارکد در ASP.NET MVC

با دنبال کردن مراحل زیر می‌توانیم یک تصویر بارکد در برنامه ASP.NET MVC تولید و نمایش دهیم:

  • ابتدا یک پروژه جدید ایجاد کنید و الگوی پروژه ASP.NET Web Application (.NET Framework) را انتخاب کنید.
Select the project template.

Select the project template.

  • بعد، در گفتگوی Create a new ASP.NET Web Application، MVC را انتخاب کنید و سپس ایجاد را انتخاب کنید.
MVC را انتخاب کنید

MVC را انتخاب کنید

Aspose.BarCode را برای دات نت نصب کنید

Aspose.BarCode را برای دات نت نصب کنید

  • در مرحله بعد، یک پوشه جدید “Images” ایجاد کنید تا تصاویر بارکد تولید شده را ذخیره کنید.
پوشه Images را ایجاد کنید.

پوشه Images را ایجاد کنید.

  • اکنون یک مدل در پوشه “Models” با نام “Barcode” ایجاد کنید تا اطلاعات بارکد ذخیره شود.
// اطلاعات اولیه بارکد
public class Barcode
{
    public string Text { get; set; }

    public BarcodeType BarcodeType { get; set; }

    public BarCodeImageFormat ImageType { get; set; }
}
  • همچنین، شمارش را برای فهرست نمادهای بارکد پشتیبانی شده اضافه کنید. می توان آن را در یک کلاس جداگانه در پوشه “Models” اضافه کرد، یا می توانیم آن را در فایل کلاس Barcode.cs اضافه کنیم.
// نمادهای بارکد
public enum BarcodeType
{
    Code128,
    Code11,
    Code32,
    QR,
    Datamatrix,
    EAN13,
    EAN8,
    ITF14,
    PDF417
}
  • به طور مشابه، شمارش را برای فهرست کردن فرمت‌های تصویری پشتیبانی شده اضافه کنید.
// فرمت های تصویر
public enum ImageType
{
    Png,
    Jpeg,
    Bmp,
    Emf,
    Svg
}
  • سپس Views/Home/index.cshtml را باز کرده و محتوای آن را با اسکریپت زیر جایگزین کنید.
@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>
  • سپس، کلاس «HomeController» را باز کنید و یک نتیجه اقدام جدید برای رسیدگی به درخواست پست اضافه کنید.
[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();
}
  • پس از آن، یک نتیجه اقدام جدید برای رسیدگی به درخواست دانلود تصویر در “HomeController” اضافه کنید.
public ActionResult Download(string ImagePath, string ImageName)
{
    string contentType = "application/img";
    return File(ImagePath, contentType, Path.GetFileName(ImageName));
}
  • در نهایت برنامه را اجرا کنید.

نسخه ی نمایشی ASP.NET MVC بارکد مولد

در زیر نمایش برنامه ASP.NET MVC Barcode Generator است که به تازگی ایجاد کرده ایم.

نسخه ی نمایشی ASP.NET MVC بارکد مولد

نسخه ی نمایشی ASP.NET MVC بارکد مولد

کد منبع را دانلود کنید

می توانید کد منبع کامل برنامه ASP.NET MVC Barcode Generator را از GitHub دانلود کنید.

مجوز رایگان دریافت کنید

شما می توانید یک مجوز موقت رایگان دریافت کنید تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله نحوه تولید و نمایش تصویر بارکد در اپلیکیشن ASP.NET MVC را یاد گرفتیم. همچنین نحوه دانلود تصویر بارکد تولید شده را به صورت برنامه نویسی دیده ایم. علاوه بر این، می‌توانید با استفاده از مستندات درباره Aspose.BarCode for .NET API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در [تالار] تماس بگیرید.

همچنین ببینید