使用IRONBARCODE

.NET QR码生成器(代码示例教程)

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
2022年九月14日
更新 2024年二月7日
分享:

本教程将使用 IronBarcode 作为核心库,生成在不同行业有多种应用的 QR 码。

介绍 IronBarcode

附加功能

  • IronBarcode 可以读取和书写大多数条形码类型和 QR 标准,如 UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/Expanded、Databar 和 CodaB。
  • IronBarcode 可自动对条码图片进行预处理,以提高读取效率和精度。
  • IronBarcode 可以读取扫描件和实时视频帧校正旋转、噪声、失真和倾斜
  • IronBarcode 可以跨多个核心和线程使用(对执行批处理的服务器应用程序非常有用)。
  • IronBarcode 可在单页和多页文档中自动查找一个或多个条形码。
  • IronBarcode 支持 32 位和 64 位架构,并可用于 .NET 实现(.NET Core 和 .NET Framework)。
  • IronBarcode支持在PC和移动平台上的控制台、桌面、和Web应用程序。
  • IronBarcode 可以生成适用于多种文件和流格式的二维码图像,包括 PDF、JPG、TIFF、GIF、BMP、PNG 和 HTML。

使用 IronBarcode 生成 QR 码

本文接下来的章节将举例说明如何轻松生成二维码。

步骤 1.创建新项目

打开 Visual Studio,然后从文件菜单中选择新建项目

在出现的窗口中选择控制台应用程序模板,然后点击下一步。

.NET QR 码生成器(代码示例教程),图 1:在 Visual Studio 中创建用于 QR 码生成的新控制台应用程序

在 Visual Studio 中创建用于生成 QR 码的新控制台应用

项目名称文本字段中,键入您喜欢的任何项目名称(例如,二维码生成器),并在位置字段中指定新项目的位置。 然后,点击下一步按钮继续。

.NET二维码生成器(代码示例教程),图2:在Visual Studio中为新的控制台应用程序选择名称和位置以创建二维码。

在 Visual Studio 中为新建的控制台应用程序选择名称和位置以创建 QR 码

Framework下拉菜单中选择一个.NET Framework(这里我们使用.NET 6.0(长期支持)),然后点击创建。

.NET QR代码生成器(代码示例教程),图 3:在 Visual Studio 中使用 .NET 6.0 框架创建新的控制台应用程序

在 Visual Studio 中创建基于 .NET 6.0 Framework 的新控制台应用程序

步骤 2.安装条码库

2.1 使用 IronBarcode

您可以通过以下四种方式下载并安装 IronBarcode 库。

这些方法是

  • 使用 Visual Studio 的 NuGet 包管理器用户界面、
  • 使用 Visual Studio 的软件包管理器控制台、
  • 直接从 NuGet 网站下载,或
  • 直接从 IronBarcode 网站下载。

2.1.1 使用 Visual Studio 的软件包管理器用户界面

从菜单栏中,转到工具 > NuGet 包管理器 > 为解决方案管理 NuGet 包...,以打开包管理器 UI。

.NET QR Code Generator(代码示例教程),图4:使用Visual Studio的NuGet包管理器UI安装IronBarcode库。

使用 Visual Studio 的 NuGet 包管理器 UI 安装 IronBarcode 库

或者,您可以右键单击“解决方案资源管理器”窗口中的项目名称,并从上下文菜单中选择管理 NuGet 包...

点击浏览选项卡,然后在搜索字段中输入Barcode。 从相关包列表中选择IronBarcode(如下图所示,为第一个结果),在右侧窗格中选择您的项目,然后点击安装按钮。

.NET 二维码生成器(代码示例教程),图 5:在包管理器 UI 中搜索 IronBarcode 库。 它很可能会出现在搜索结果中所有其他库之前。

在包管理器UI中搜索IronBarcode库。 它很可能会在搜索结果中出现在所有其他库之前

2.1.2 使用 Visual Studio 的软件包管理器控制台

转到 工具 > NuGet 包管理器 > 包管理器控制台。 在出现的命令行面板中输入以下命令,然后按 ENTER 键:

Install-Package BarCode

上述命令将下载并安装该库到当前项目中。

2.1.3 从 NuGet 网站下载库

在浏览器中访问 NuGet Gallery 网站上的条码库页面,或者点击此 NuGet BarCode 包链接 直接访问该页面。

单击右侧菜单中的下载包链接,将库保存到您的计算机上。 接下来,双击文件管理器中下载的库,将其自动安装到项目中。 最后,重新加载您的项目,就可以开始使用了。

2.1.4 从 IronBarcode 网站下载程序库

点击IronBarcode的主页下载最新的.NET条形码DLL。 下载后,请按照以下步骤将软件包添加到您的项目中:

  1. 解决方案资源管理器面板中右键单击项目,然后单击添加 > COM 参考

    .NET QR 码生成器(代码示例教程),图 6:直接从 Visual Studio 将 IronBarcode DLL 添加到项目中。

    直接从Visual Studio将IronBarcode DLL添加到项目中

  2. 单击浏览按钮并导航到提取 DLL 的位置。 选择 DLL 后,单击 "确定 "将其添加到项目中。

    .NET QR码生成器(代码示例教程),图7:将IronBarcode DLL作为新的COM引用插入到您的项目中。

    在您的项目中将 IronBarcode DLL 插入为新的 COM 引用

步骤 3.生成 QR 码图像

3.1 在 Windows/控制台应用程序中使用 IronBarcode

通过调用CreateQrCode方法从QRCodeWriter类生成一个新的QR码:

QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("MyQR.png");
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("MyQR.png");
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPng("MyQR.png")
$vbLabelText   $csharpLabel

CreateQrCode方法接受一个必需的参数,即要在二维码图像中编码的数据(可以是StringStream)。 该方法还接受三个可选参数:

  1. 图形的宽度和高度(默认情况下为500px x 500px)

  2. 纠错级别。 IronBarcode 提供四个等级的错误纠正:低、中、高和最高。默认情况下,CreateQrCode 使用最高级别的纠错等级 QRCodeWriter.QrErrorCorrectionLevel.Highest

  3. 一个 QR 符号版本号。 请参阅此页面以获取有效版本的列表。 一个值为0(默认值)指示该方法根据将要编码的数据使用正确的版本号。

    上例使用中等纠错级别生成了一个 500 像素乘 500 像素的图形。 在生成的 QR 码上对 SaveAsPng 方法的后续调用将其保存为给定文件位置的 PNG 文件。

    .NET QR 码生成器(代码示例教程),图 8:使用上述参数调用 QrCodeWriter.CreateQrCode 的结果。

    调用 QrCodeWriter.CreateQrCode 时使用上述参数的结果

    接下来,下面的示例代码使用CreateQrCodeWithLogo方法将公司标志添加到生成的二维码中,这是任何企业的典型用例场景。

var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "qrlogo.png",500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "qrlogo.png",500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");
Dim qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "qrlogo.png",500)
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed)
qrWithLogo.SaveAsPng("Logo_QR_Code.png")
$vbLabelText   $csharpLabel

在上述示例中,一个String值“Hello, World”被编码成一个新二维码,该二维码嵌入了位于指定文件路径的图像。 图片会自动调整大小以适应 QR 码方格,调整后的大小将使 QR 码阅读器仍能读取纯粹的代码数据。

上面的下一行代码使用 ChangeBarCodeColor 方法将二维码的颜色更改为深红色。 在这里,我们使用 C# 提供的可用 System 颜色类类型之一进行着色(即 System.Drawing.Color.DarkRed)。 可以用 HTML 十六进制颜色符号指定颜色,如下行代码所示:

qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"))
$vbLabelText   $csharpLabel

上面代码示例中的最后一行代码调用 SaveAsPng 方法将 QR 代码保存为 PNG 文件。二维码还可以保存为 HTML 等其他文件格式:

qrWithLogo.SaveAsHtmlFile("test.html");
qrWithLogo.SaveAsHtmlFile("test.html");
qrWithLogo.SaveAsHtmlFile("test.html")
$vbLabelText   $csharpLabel

请参考此文档页面,获取可以保存QR码的完整文件类型列表。

.NET QR Code Generator(代码示例教程),图 9:使用 IronBarcode 的 QRCodeWriter 类中可用的方法以不同颜色、不同文件格式和使用不同图像生成二维码。

使用 IronBarcode 的 QRCodeWriter 类中的方法,以不同颜色、不同文件格式和不同图像生成 QR 代码

3.2 在网络应用程序中使用 IronBarcode

该行代码演示了如何在 .NET MVC Web 应用程序中使用 IronBarcode:

public IActionResult Index()
{
    QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPdf("Demo.png");
    return File("Demo.png", "image/png", "Demo.png", true);
}
public IActionResult Index()
{
    QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPdf("Demo.png");
    return File("Demo.png", "image/png", "Demo.png", true);
}
Public Function Index() As IActionResult
	QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPdf("Demo.png")
	Return File("Demo.png", "image/png", "Demo.png", True)
End Function
$vbLabelText   $csharpLabel

上面的例子与前面的例子非常相似。 首先,生成一个 QR 代码,然后在响应体中返回给客户端。

结论

IronBarcode 是目前读写条形码速度最快、功能最强大的库之一。 这个简单的库受各种操作系统支持,它支持多种条形码格式,而且易于使用。

使用IronBarcode的许可和法律信息可以在许可页面中找到。 IronBarcode 可根据自由开发者许可证免费使用。 高级(付费)开发者许可包括一年免费的支持和产品更新。

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 运用技能时,他会进行游戏编程。作为产品测试、产品开发和研究的负责人之一,Jordi 为持续的产品改进增添了极大的价值。多样化的经验让他充满挑战和参与感,他说这是他在 Iron Software 工作中最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。
< 前一页
C# 条形码扫描器分步教程
下一步 >
如何在C# Windows应用程序中生成二维码