使用IRONBARCODE

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

发布 2023年五月16日
分享:

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

使用市场领先的 C# 库 IronBarcode 可以在 ASP.NET MVC 中动态生成和显示条形码图像。该库提供的 API 使开发人员能够跨平台轻松生成各种格式的条形码图像,如 Code 39、Code 128 和 QR Code。不依赖于 System.Drawing.Common 和 .NET Graphics API,它们是 视窗专用 从 .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 库: 从以下网址下载并安装 IronBarcode 库 Iron 软件网站 或通过 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

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

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

如何在 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#

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

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

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

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

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

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