使用IRONBARCODE 如何在ASP.NET MVC中動態生成和顯示條碼 Jordi Bardia 更新日期:6月 22, 2025 Download IronBarcode NuGet 下載 DLL 下載 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article ASP.NET MVC 是一種流行的 Web 開發框架,允許開發人員構建穩健且動態的 Web 應用程式。 Web 應用程式中的常見需求是能夠生成和顯示條碼圖像。 條碼圖像用於以機器可讀格式表示數據,可以通過條碼掃描器讀取。 在 ASP.NET MVC 中動態生成和顯示條碼圖像可以使用市場領先的 C# 庫 IronBarcode 實現。 該庫提供 API,使開發人員能夠輕鬆在各平台生成各種格式的條碼圖像,例如 Code 39、Code 128 和 QR Code。 不依賴於從 .NET 6 開始 Windows 特定的 System.Drawing.Common 和 .NET Graphics API,IronBarcode 允許跨平台功能,並允許更多的源代碼兼容性。 IronBarcode IronBarcode 是一個流行的 .NET 條碼庫,為在 .NET 應用程式中創建、讀取和操作條碼圖像提供了廣泛的功能。 該庫由 Iron Software 開發和維護,Iron Software 是一家專門從事 .NET 元件和庫的軟體開發公司。 IronBarcode 支援範圍廣泛的條碼格式,包括 Code 128、Code 39、QR Code、Data Matrix 和 PDF417。該庫還具有根據自定義尺寸、顏色和字體生成條碼,以及在條碼圖像中添加文字和徽標的功能。 除了條碼生成外,IronBarcode 還包括讀取和解碼條碼圖像的功能。 該庫可以從圖像、PDF 文件和實時相機源中讀取和解碼條碼。 它支持 1D 和 2D 條碼格式,甚至可以識別部分遮蔽或損壞的條碼。 必要條件 在 .NET 應用程式中使用 IronBarcode 之前,需要滿足一些前提條件。 .NET Framework 或 .NET Core: IronBarcode 設計用於與 .NET Framework 和 .NET Core 一起工作。 確保您的開發環境安裝了合適的 .NET 版本。 Visual Studio: IronBarcode 可以與 Visual Studio 集成,以便於開發和測試。 可以使用 Visual Studio Community、Professional 或 Enterprise 版本。 可以從 Visual Studio 網站下載。 IronBarcode 庫: 從 Iron Software 網站或通過 NuGet 包管理器下載並安裝 IronBarcode 庫。 可以使用 NuGet 包管理器控制台通過運行以下命令來安裝該庫:Install-Package BarCode。 IronBarcode 為開發免費使用,但必須許可 用於商業和部署目的。 您可以嘗試免費試用以測試所有功能。 創建新的 ASP.NET MVC 專案 打開 Visual Studio 並單擊創建新專案。 在新窗口中,找到並選擇“ASP.NET MVC (Web App) Model View Controller”,然後單擊下一步按鈕。 輸入新專案的名稱及其位置,然後單擊下一步。 選擇您要使用的 .NET 版本,然後保持其他選項不變,然後單擊創建。 創建了一個 .NET 專案。 安裝 IronBarcode 1. 使用 NuGet 包管理器 此選項可在 Visual Studio 中使用,將直接將 IronBarcode 包安裝到您的解決方案中。 轉到工具並單擊 NuGet 包管理器,如圖所示。 使用 NuGet 包管理器中的搜索框搜索 IronBarcode 庫。 從可用包列表中選擇 IronBarcode 選項。 2. 使用 Visual Studio 命令行 在 Visual Studio 菜單中,轉到工具 > NuGet 包管理器 > 包管理器控制台。 在包管理器控制台標籤中輸入以下行:Install-Package BarCode。 包將下載/安裝到當前專案中,並準備使用。 使用 IronBarcode 生成和顯示條碼圖像 現在我們的環境已設置好,我們可以開始撰寫代碼以在 ASP.NET MVC 中動態生成條碼圖像。 首先,在 model 文件夾下創建一個名為 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 $vbLabelText $csharpLabel 在 wwwroot 文件夾下創建一個名為“GeneratedBarcode”的文件夾以存儲生成的條碼圖像。 在“controllers”文件夾的 HomeController.cs 類中添加以下操作方法。 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 $vbLabelText $csharpLabel 上面代碼中的操作方法將處理我們稍後創建的視圖生成的提交請求。 使用 IronBarcode,您可以自定義條碼格式、圖像元素、條碼字體和 HTML 圖像元素。 可能需要額外的庫來進行更多自定義,例如 Iron Drawing 用於安裝條碼字體。 更多詳細的 API 文檔可以在這裡找到。 現在我們可以為條碼生成器方法創建一個視圖。 在 HomeController.cs 文件中,右鍵單擊 CreateBarcode 方法並單擊添加視圖。 選擇 Razor 視圖並單擊添加。 選擇如下圖所示的參數並單擊添加。 它將自動為該方法添加視圖。 您可以修改生成的代碼來更改界面。 @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");} } 現在一切設置完成,只需打開 _Layout.cshtml 文件並添加代碼以在 navbar 中添加 CreateBarcode 選項。 <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> HTML 現在運行應用程式,在文本字段中寫入文本,然後單擊生成條碼按鈕,它將動態創建並顯示條碼圖像。 5.1. 輸出 6. 結論 在 ASP.NET MVC 應用程式中動態生成和顯示條碼圖像可以通過 IronBarcode 庫實現 - 一個強大的 .NET 條碼庫,為在 .NET 應用程式中創建、讀取和操作條碼圖像提供了廣泛的功能。 通過滿足安裝 .NET framework、Visual Studio 和 IronBarcode 庫的必要條件,開發人員可以輕鬆地創建 ASP.NET MVC 專案,並生成和顯示各種格式的條碼圖像,例如 Code 39、Code 128 和 QR Code。 IronBarcode 庫為開發人員提供了生成自定義尺寸、顏色和字體的條碼,以及在條碼圖像中添加文字和徽標的功能。 除了條碼生成外,IronBarcode 還包括讀取和解碼條碼圖像的功能。 使用 IronBarcode,開發人員可以輕鬆創建滿足其業務需求的強大且動態的 Web 應用程式。 有關此主題的相關教程,請訪問以下鏈接。 關於條碼和 QR 碼生成的分步教程,請參閱以下鏈接。 常見問題解答 如何在 ASP.NET MVC 中動態生成條碼圖像? 您可以使用 IronBarcode 庫在 ASP.NET MVC 中動態生成條碼圖像,通過將其 API 集成到您的專案中。這個 C# 庫支持多種條碼格式,並允許在尺寸、顏色和文字方面進行自定義。 在 ASP.NET MVC 應用程序中使用 IronBarcode 的好處是什麼? IronBarcode 提供跨平台功能,無需依賴於 Windows 特定的 .NET Graphics API。它支持多種條碼格式,提供自定義選項,並可以從圖像、PDF 和實時攝像頭饋送中讀取和解碼條碼。 如何在 ASP.NET MVC 專案中集成 IronBarcode? 要在 ASP.NET MVC 專案中集成 IronBarcode,您需要使用 Visual Studio 中的 NuGet 套件管理器安裝庫,為條碼數據設置模型,創建控制器以處理條碼生成,並設計一個視圖來進行用戶交互和條碼顯示。 在 ASP.NET MVC 中使用 IronBarcode 生成支持哪些條碼格式? IronBarcode 支持在 ASP.NET MVC 中生成多種條碼格式,包括 Code 39、Code 128、QR Code、Data Matrix 和 PDF417。 我可以自定義使用 IronBarcode 生成的條碼圖像的外觀嗎? 可以,IronBarcode 允許自定義條碼圖像,包括調整條碼格式、顏色、尺寸、字體,並添加文字或標誌到條碼中。 在 ASP.NET MVC 中生成條碼時如何排除故障? 如果在 ASP.NET MVC 中生成條碼時遇到問題,請確保正確安裝了 IronBarcode 庫,滿足所有依賴項,並正確實施條碼數據模型和控制器設置。請參考 IronBarcode 的文檔以獲取更多指導。 是否可以使用 IronBarcode 在 ASP.NET MVC 應用程序中解碼條碼? 可以,IronBarcode 包含從多個來源(如圖像、PDF 文檔和實時攝像頭饋送)解碼條碼的功能,即使它們部分損壞。 使用 IronBarcode 設置 ASP.NET MVC 專案的先決條件是什麼? 您需要安裝 .NET Framework 或 .NET Core、Visual Studio 以及可以從 Iron Software 網站下載或通過 NuGet 套件管理器安裝的 IronBarcode 庫。 Jordi Bardia 立即與工程團隊聊天 軟體工程師 Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。 相關文章 發表日期 10月 19, 2025 如何使用VB.NET在Crystal Reports中打印條碼 在VB.NET中使用IronBarcode SDK在Crystal Reports中生成和打印條碼的分步教程,確保可靠的條碼集成。 閱讀更多 發表日期 9月 29, 2025 IronBarcode對比.NET中的開源條碼閱讀器 了解如何使用IronBarcode在C#中讀取條碼 閱讀更多 發表日期 9月 29, 2025 如何在ASP.NET應用程式中掃描條碼 了解如何在ASP.NET中使用IronBarcode掃描條碼 閱讀更多 如何在C# Windows應用程式中打印條碼如何為鏈接創建QR碼(C#教程)
發表日期 10月 19, 2025 如何使用VB.NET在Crystal Reports中打印條碼 在VB.NET中使用IronBarcode SDK在Crystal Reports中生成和打印條碼的分步教程,確保可靠的條碼集成。 閱讀更多