IRONSOFTWAREHOME
USING IRONBARCODE

How to Dynamically Generate and Display Barcode in ASP.NET MVC

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

ASP.NET MVC 是一个流行的Web开发框架,允许开发人员构建稳健且动态的Web应用程序。 Web应用程序中的一个常见要求是能够生成和显示条形码图像。 条形码图像用于将数据表示为机器可读格式,并且可以通过条形码扫描器读取。

Dynamically generating and displaying barcode images in ASP.NET MVC can be achieved using the market-leading C# library, IronBarcode. 此库提供API,允许开发人员轻松地产生跨平台的条形码图像,支持多种格式,如Code 39、Code 128和QR Code。 从.NET 6开始,不依赖于System.Drawing.Common和.NET Graphics API,这些是Windows特定的,IronBarcode允许跨平台功能,并提高了源码兼容性。

IronBarcode

IronBarcode是一个流行的.NET条形码库,在.NET应用程序中提供了一系列用于创建、读取和操作条形码图像的功能。 该库由Iron Software开发和维护,这是一家专门从事.NET组件和库的软件开发公司。 IronBarcode支持多种条形码格式,包括Code 128、Code 39、QR Code、Data Matrix和PDF417。该库还提供生成带有自定义尺寸、颜色和字体的条形码,以及为条形码图像添加文本和徽标的功能。

除条形码生成外,IronBarcode还包括读取和解码条形码图像的功能。 该库可以从图像、PDF文档和实时相机源中读取和解码条形码。 它支持1D和2D条形码格式,甚至可以识别被部分遮挡或损坏的条形码。

前提条件

在.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包管理器下载并安装IronBarcode库。 可以使用NuGet包管理器控制台通过运行以下命令来安装该库:Install-Package BarCode

IronBarcode在开发中免费使用,但必须进行授权以用于商业和部署目的。 您可以尝试免费试用以测试其所有功能。

创建一个新的ASP.NET MVC项目

打开Visual Studio并点击创建新项目。

如何在ASP.NET MVC中动态生成和显示条形码:图1

在新窗口中,查找并选择"ASP.NET MVC(Web应用模型视图控制器)",然后点击下一步按钮。

如何在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; }
    }
}

wwwroot文件夹下创建一个名为"GeneratedBarcode"的文件夹,用于存储生成的条形码图像。

如何在ASP.NET MVC中动态生成和显示条形码:图10

在"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();
        }
    }
}

上面的代码中的操作方法将处理从我们稍后创建的视图生成的提交请求。 使用IronBarcode,您可以自定义条形码格式、图像元素、条形码字体和HTML图像元素。 可能需要额外的库以进行进一步的自定义,例如IronDrawing用于安装条码字体。 更详细的API文档可以在这里找到。

现在我们可以为条形码生成方法创建一个视图。

CreateBarcode方法并点击添加视图。

如何在ASP.NET MVC中动态生成和显示条形码:图11

选择Razor视图并点击添加。

如何在ASP.NET MVC中动态生成和显示条形码:图12

选择如下图所示的参数并点击添加。 它将自动为该方法添加一个视图。

如何在ASP.NET MVC中动态生成和显示条形码:图13

您可以修改生成的代码以根据需要更改界面。

@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");}
}
Text

现在一切已设置好,只需打开CreateBarcode选项。

<li class="nav-item">
    <a class="nav-link text-dark" asp-controller="Home" asp-action="CreateBarcode">CreateBarcode</a>
</li>
HTML

现在运行应用程序,在文本字段中写入文本并点击生成条形码按钮,它将动态生成并显示条形码图像。

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,开发人员可以轻松创建满足业务需求的强大且动态的Web应用程序。 有关此主题的相关教程请访问以下链接。 有关条形码和QR码生成的分步教程,请参阅以下链接

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户