使用 IRONBARCODE

如何在ASP.NET MVC中動態生成和顯示條碼

發佈 2023年5月16日
分享:

ASP.NET MVC 是一個受歡迎的網站開發框架,可讓開發人員構建堅固且動態的網絡應用程式。 在網路應用程式中,一個常見的需求是生成和顯示條碼圖像的能力。 條碼圖像用於以機器可讀的格式表示數據,可以由條碼掃描器讀取。

在 ASP.NET MVC 中動態生成和顯示條碼圖像可以使用領先市場的 C# 庫 IronBarcode 來實現。 此函式庫提供 API,使開發人員能夠在不同平台上輕鬆生成條碼圖像,支持多種格式,如 Code 39、Code 128 和 QR Code。 在不依賴 System.Drawing.Common 和 .NET Graphics API 的情況下,這些是Windows特定從 .NET 6 開始,IronBarcode 允許跨平台功能,並允許更多的源代碼兼容性。

IronBarcode

IronBarcode是一個流行的 .NET 條碼庫,提供廣泛的功能來創建、讀取和處理 .NET 應用程式中的條碼影像。 該程式庫由專注於 .NET 元件和程式庫的軟體開發公司 Iron Software 開發和維護。 IronBarcode 支援多種條碼格式,包括 Code 128、Code 39、QR Code、Data Matrix 和 PDF417。此函式庫還提供功能,用於生成具有自訂尺寸、顏色和字體的條碼,並在條碼圖像中添加文字和標誌。

除了條碼生成外,IronBarcode 還包括讀取和解碼條碼圖像的功能。 該庫可以從圖像、PDF文件和即時相機直播中讀取和解碼條碼。 它支持一維和二維條碼格式,甚至可以識別部分遮擋或損壞的條碼。

先決條件

在 .NET 應用程式中使用 IronBarcode 之前,需要滿足一些先決條件。

  1. .NET Framework 或 .NET Core: IronBarcode 設計用於支援 .NET Framework 和 .NET Core。 確保您的開發環境已安裝適當版本的 .NET。

  2. Visual Studio:IronBarcode 可與 Visual Studio 整合,以便進行輕鬆的開發和測試。 可以使用 Visual Studio Community、Professional 或 Enterprise 版本。 可以從Visual Studio 網站.

  3. IronBarcode 程式庫:Iron Software 網站或透過 NuGet 套件管理器。 可以使用 NuGet 套件管理器控制台通過運行以下命令來安裝該庫:Install-Package BarCode。

    IronBarcode 可供開發免費使用,但必須授權用於商業和部署目的。 您可以嘗試使用免費試用測試其所有功能。

建立新的 ASP.NET MVC 專案

開啟 Visual Studio 並點擊「建立新專案」。

如何在ASP.NET MVC中動態生成和顯示條碼:圖1

在新視窗中找到並選擇 "ASP.NET MVC"(網頁應用程式)「模型-視圖-控制器」,然後按下「下一步」按鈕。

如何在 ASP.NET MVC 中動態生成和顯示條碼:圖 2

點擊寫下新專案的名稱和其位置,然後點擊下一步。

如何在ASP.NET MVC中動態生成和顯示條形碼:圖3

選擇您要使用的 .NET 版本,並保留其他選項不變,然後點擊建立。

如何在ASP.NET MVC中動態生成和顯示條碼:圖4

一個 .NET 專案被建立。

如何在ASP.NET MVC中動態生成和顯示條碼:圖5

安裝 IronBarcode

1. 使用 NuGet 封裝管理員

此選項可在 Visual Studio 中使用,將直接將 IronBarcode 套件安裝到您的解決方案中。 前往工具並點擊顯示的 NuGet 套件管理員。

如何在ASP.NET MVC中動態生成和顯示條碼:圖6

在 NuGet 套件管理器中使用搜尋框來搜尋 IronBarcode 函式庫。 從可用套件列表中選擇IronBarcode選項。

如何在 ASP.NET MVC 中動態生成和顯示條碼:圖 7

2. 使用 Visual Studio 命令列

在 Visual Studio 菜單中,轉到工具 > NuGet 套件管理員 > 套件管理員主控台。

如何在 ASP.NET MVC 中動態生成和顯示條碼:圖 8

在套件管理器主控台標籤中輸入以下行:Install-Package BarCode.

套件將下載/安裝到當前專案中並準備好使用。

如何在 ASP.NET MVC 中動態生成和顯示條碼:圖 9

使用 IronBarcode 生成和顯示條碼圖像

現在我們的環境已經設置好,我們可以開始了解如何在 ASP.NET MVC 中動態編寫代碼來生成條碼圖像。

首先,在模型資料夾下創建一個名為 GenerateBarcodeModel.cs 的類。


    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
VB   C#

在 wwwroot 資料夾下建立一個名為 "GeneratedBarcode" 的資料夾來儲存生成的條碼圖片。

如何在ASP.NET MVC中動態生成和顯示條碼:圖10

在「controllers」資料夾中的「HomeController.cs」類別中新增以下的操作方法。


    public IActionResult CreateBarcode()
            {
                return View();
            }

            //  handling POST operation Inside this Action method
            [HttpPost]
            public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
            {
                try
                {
                    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);

                    string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                    string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");

            // The generated barcode object can be manipulated, annotated, and exported as an image file, a bitmap image, a PDF file, or a data stream.
            // Here, we save the generated barcode as an image to the GeneratedBarcode folder we had created
                    barcode.SaveAsPng(filePath);
                    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();
            }

    public IActionResult CreateBarcode()
            {
                return View();
            }

            //  handling POST operation Inside this Action method
            [HttpPost]
            public IActionResult CreateBarcode(GenerateBarcodeModel generateBarcode)
            {
                try
                {
                    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);

                    string path = Path.Combine(_environment.WebRootPath, "GeneratedBarcode");
                    if (!Directory.Exists(path))
                    {
                        Directory.CreateDirectory(path);
                    }
                    string filePath = Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png");

            // The generated barcode object can be manipulated, annotated, and exported as an image file, a bitmap image, a PDF file, or a data stream.
            // Here, we save the generated barcode as an image to the GeneratedBarcode folder we had created
                    barcode.SaveAsPng(filePath);
                    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();
            }
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
					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)

					Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode")
					If Not Directory.Exists(path) Then
						Directory.CreateDirectory(path)
					End If
					Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "GeneratedBarcode/barcode.png")

			' The generated barcode object can be manipulated, annotated, and exported as an image file, a bitmap image, a PDF file, or a data stream.
			' Here, we save the generated barcode as an image to the GeneratedBarcode folder we had created
					barcode.SaveAsPng(filePath)
					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
VB   C#

上面程式碼中的動作方法將處理稍後我們將創建的視圖所產生的提交請求。 使用 IronBarcode,您可以自訂條碼格式、圖像元素、條碼字型和 HTML 圖像元素。 可能需要額外的庫以進行更多自定義,例如鐵畫用於安裝條碼字體。 可以找到更詳細的 API 文件這裡.

現在我們可以為條碼生成器方法創建一個視圖。

在 "HomeController.cs" 檔案中,右鍵點擊 createBarcode 方法,然後點擊新增視圖。

如何在 ASP.NET MVC 中動態生成和顯示條碼:圖 11

選擇 Razor 視圖並點擊新增。

如何在 ASP.NET MVC 中動態生成和顯示條碼:圖 12

選擇下圖所示的參數並點擊新增,它將自動為該方法添加視圖。

如何在ASP.NET MVC中動態生成和顯示條形碼:圖13

您可以修改生成的代碼,以按照您的需求更改介面。


    @model GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel

    @{
        ViewData ["Title"] = "CreateBarcode";
    }

    CreateBarcode

    GenerateBarcodeModel

        Back to List

    @section Scripts {
        @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
    }

    @model GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel

    @{
        ViewData ["Title"] = "CreateBarcode";
    }

    CreateBarcode

    GenerateBarcodeModel

        Back to List

    @section Scripts {
        @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
    }
model ReadOnly Property () As GenerateBarcodeMVCCore6_Demo.Models.GenerateBarcodeModel
		ViewData ("Title") = "CreateBarcode"
End Property

	CreateBarcode GenerateBarcodeModel Back [to] List ReadOnly Property Scripts() As section
		@
		If True Then
			Await Html.RenderPartialAsync("_ValidationScriptsPartial")
		End If
	End Property
VB   C#

現在一切都設定好了,只需打開 _Layout.cshtml 文件,並在 navbar 中添加 CreateBarcode 選項的程式碼。

CreateBarcode
CreateBarcode
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'CreateBarcode
VB   C#

現在運行應用程式,在文本字段中寫入文字,然後點擊生成條碼按鈕,它將動態生成並顯示條碼圖像。

5.1. 輸出

如何在 ASP.NET MVC 中動態生成和顯示條碼:圖 14

6. 結論

在 ASP.NET MVC 應用程式中動態生成和顯示條碼圖像可以使用 IronBarcode 庫來實現——這是一個強大的 .NET 條碼庫,提供廣泛的功能來創建、讀取和操作 .NET 應用程式中的條碼圖像。 通過滿足安裝 .NET 框架、Visual Studio 和 IronBarcode 庫等先決條件,開發人員可以輕鬆創建 ASP.NET MVC 專案,並以 Code 39、Code 128 和 QR Code 等多種格式生成和顯示條碼圖像。 這IronBarcode該程式庫為開發者提供了生成條碼的功能,包括可自定義尺寸、顏色和字體的條碼,以及在條碼圖像中添加文字和標誌。 除了條碼生成外,IronBarcode 還包括讀取和解碼條碼圖像的功能。 使用IronBarcode,開發人員可以輕鬆創建符合其業務需求的強大且動態的網絡應用程序。 有關此主題的相關教程,請訪問以下內容連結. 如需有關條碼和 QR 碼生成的逐步教程,請參閱以下內容連結.

< 上一頁
如何在 C# Windows 應用程式中列印條碼
下一個 >
如何為連結製作 QR 碼 (C# 教學)

準備開始了嗎? 版本: 2024.11 剛剛發布

免費 NuGet 下載 總下載次數: 1,290,353 查看許可證 >