使用IRONBARCODE

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

发布 2023年五月16日
分享:

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

在ASP.NET MVC中使用市场领先的C#库IronBarcode可以动态生成和显示条形码图像。 该库提供的 API 可使开发人员跨平台轻松生成 Code 39、Code 128 和 QR Code 等各种格式的条形码图像。 在不依赖 System.Drawing.Common 和 .NET Graphics API 的情况下,它们是视窗专用从 .NET 6 开始,IronBarcode 允许跨平台功能,并允许更多源代码兼容。

IronBarcode

IronBarcodeBarCode 是一种流行的 .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 库: 从以下网址下载并安装 IronBarcode 库Iron 软件网站或通过 NuGet 软件包管理器。 可使用 NuGet 软件包管理器控制台运行以下命令安装该库:安装-打包 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

在软件包管理器控制台选项卡中输入以下一行:安装-软件包 BarCode。

软件包将下载/安装到当前项目中,并可随时使用。

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

使用 IronBarcode 生成和显示条码图像

现在我们的环境已经搭建完毕,可以开始学习如何编写代码在 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
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#

上面代码中的操作方法将处理我们稍后创建的 View 生成的提交请求。 使用 IronBarcode,您可以自定义条码格式、图像元素、条码字体和 HTML 图像元素。 为进行更多定制,可能需要额外的库,例如铁画用于安装 BarCode 字体。 更详细的 API 文档可参见这里.

现在,我们可以为我们的 BarCode 生成器方法创建一个视图。

在 "HomeController.cs "文件中,右键单击 "createBarcode "方法,然后单击 "添加视图"。

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

选择 Razor View 并点击添加。

如何在 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 Framework、Visual Studio 和 IronBarcode 库等前提条件,开发人员可以轻松创建 ASP.NET MVC 项目,并生成和显示 Code 39、Code 128 和 QR Code 等各种格式的条形码图像。 "(《世界人权宣言》)IronBarcode库为开发人员提供了生成具有自定义尺寸、颜色和字体的条形码以及为条形码图像添加文本和徽标的功能。 除了条码生成功能外,IronBarcode 还包括读取和解码条码图像的功能。 有了 IronBarcode,开发人员可以轻松创建功能强大的动态网络应用程序,满足业务需求。 有关此主题的相关教程,请访问以下网站链接. 有关条形码和 QR 码生成的分步教程,请参考以下内容链接.

< 前一页
如何在C# Windows应用程序中打印条形码
下一步 >
如何为链接生成二维码(C#教程)

准备开始了吗? 版本: 2024.11 刚刚发布

免费NuGet下载 总下载量: 1,290,353 查看许可证 >