在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
ASP.NET MVC 是一种流行的网络开发框架,允许开发人员构建健壮、动态的网络应用程序。 网络应用程序的一个常见要求是能够生成和显示条形码图像。 条形码图像用于以机器可读格式表示数据,并可由条形码扫描仪读取。
在ASP.NET MVC中使用市场领先的C#库IronBarcode可以动态生成和显示条形码图像。 该库提供的 API 可使开发人员跨平台轻松生成 Code 39、Code 128 和 QR Code 等各种格式的条形码图像。 IronBarcode 不依赖于 System.Drawing.Common 和 .NET Graphics API,这些从 .NET 6 开始是 特定于 Windows 的,IronBarcode 允许跨平台功能,并提供更高的源代码兼容性。
IronBarcode 是一个流行的 .NET 条码库,为在 .NET 应用程序中创建、读取和操作条码图像提供了广泛的功能。 该库由专门从事 .NET 组件和库的软件开发公司 Iron Software 开发和维护。 IronBarcode 支持多种条形码格式,包括 Code 128、Code 39、QR Code、Data Matrix 和 PDF417。该库还提供生成具有自定义尺寸、颜色和字体的条形码的功能,以及为条形码图像添加文本和徽标的功能。
除了条码生成功能外,IronBarcode 还包括读取和解码条码图像的功能。 该库可以从图像、PDF 文档和实时摄像机画面中读取和解码条形码。 它支持一维和二维条形码格式,甚至可以识别部分模糊或损坏的条形码。
在 .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 软件包管理器控制台运行以下命令安装该库:安装-打包 BarCode。
打开 Visual Studio,点击创建新项目。

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

单击写入新项目的名称及其位置,然后单击下一步。

选择要使用的 .NET 版本,其他选项保持不变,然后单击 "创建"。

创建一个 .NET 项目。

该选项可在 Visual Studio 中使用,并将 IronBarcode 软件包直接安装到您的解决方案中。 如图所示,转到工具并点击 NuGet 包管理器。

使用 NuGet 软件包管理器中的搜索框搜索 IronBarcode 库。 从可用软件包列表中选择 IronBarcode 选项。

在 Visual Studio 菜单中,转到工具 > NuGet 包管理器 > 包管理器控制台。

在软件包管理器控制台选项卡中输入以下一行:安装-软件包 BarCode。
软件包将下载/安装到当前项目中,并可随时使用。

现在我们的环境已经搭建完毕,可以开始学习如何编写代码在 ASP.NET MVC 中动态生成 BarCode 图像。
首先,在模型文件夹下创建一个名为 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在 wwwroot 文件夹下创建名为 "GeneratedBarcode "的文件夹,用于存储生成的条形码图像。

在 "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上面代码中的操作方法将处理我们稍后创建的 View 生成的提交请求。 使用 IronBarcode,您可以自定义条码格式、图像元素、条码字体和 HTML 图像元素。 可能需要额外的库来进行更多的自定义,例如Iron Drawing用于安装条形码字体。 更详细的API文档可以在这里找到。
现在,我们可以为我们的 BarCode 生成器方法创建一个视图。
在“HomeController.cs”文件中,右键单击createBarcode方法,然后单击添加视图。

选择 Razor View 并点击添加。

选择下图所示的参数并点击添加,它将自动为该方法添加视图。
!如何在 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现在一切都已设置好,只需打开 _Layout.cshtml 文件并添加代码以在 navbar 中添加 CreateBarcode 选项。
CreateBarcodeCreateBarcode'INSTANT VB TODO TASK: The following line uses invalid syntax:
'CreateBarcode现在运行应用程序,在文本字段中写入文本,然后单击 "生成条形码 "按钮,它将动态创建并显示条形码图像。

在 ASP.NET MVC 应用程序中动态生成和显示条形码图像可以使用 IronBarcode 库来实现--这是一个功能强大的 .NET 条形码库,为在 .NET 应用程序中创建、读取和操作条形码图像提供了广泛的功能。 通过满足安装 .NET Framework、Visual Studio 和 IronBarcode 库等前提条件,开发人员可以轻松创建 ASP.NET MVC 项目,并生成和显示 Code 39、Code 128 和 QR Code 等各种格式的条形码图像。 IronBarcode库为开发人员提供了生成具有自定义尺寸、颜色和字体的条形码,并在条形码图像中添加文本和徽标的功能。 除了条码生成功能外,IronBarcode 还包括读取和解码条码图像的功能。 有了 IronBarcode,开发人员可以轻松创建功能强大的动态网络应用程序,满足业务需求。 有关此主题的相关教程,请访问以下链接。 有关条形码和二维码生成的分步教程,请参阅以下链接。