跳至页脚内容
USING IRONBARCODE

.NET QR Code Generator (Code Example Tutorial)

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

介绍IronBarcode

附加功能

  • IronBarcode可以读取和写入大多数条码类型和QR标准,例如UPC A/E、EAN 8/13、Code 39/93/128、ITF、MSI、RSS 14/Expanded、Databar和CodaB。
  • IronBarcode自动预处理条码图像以提高读取效率和精度。
  • IronBarcode can read scans and live video frames, correcting rotation, noise, distortion, and skewing.
  • IronBarcode可以在多个核心和线程中使用(对于执行批处理的服务器应用程序非常有用)。
  • IronBarcode可以自动在单页和多页文档中找到一个或多个条码。
  • IronBarcode支持32位和64位架构,并且可以在.NET实现(.NET Core和.NET Framework)中使用。
  • IronBarcode支持PC和移动平台上的控制台、桌面、和Web应用程序。
  • IronBarcode可以为一系列文件和流格式生成QR码图像,包括PDF、JPG、TIFF、GIF、BMP、PNG和HTML。

使用IronBarcode生成QR码

本文的后续章节将提供一个示例,说明如何轻松生成QR码。

步骤1. 创建一个新项目

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

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

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

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

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

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

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

步骤2. 安装条码库

2.1 使用IronBarcode

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

这些方式是:

  • 使用Visual Studio的NuGet包管理器UI,
  • 使用Visual Studio的包管理器控制台,
  • 从NuGet网站直接下载,或
  • 从IronBarcode网站直接下载。

2.1.1 使用Visual Studio的包管理器UI

从菜单栏中,依次前往工具 > NuGet包管理器 > 管理解决方案的NuGet软件包...以打开包管理器UI。

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

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

点击浏览标签,并在搜索框中输入Barcode。 从相关包的列表中选择IronBarcode(如下面的图像中显示的第一项),在右侧窗格中选择您的项目,然后单击安装按钮。

![.NET QR代码生成器(代码示例教程),图5:在包管理器UI中搜索IronBarcode库。-它很可能在搜索结果中比所有其他库更早出现。-#### 2.1.2 使用Visual Studio的包管理器控制台 在包管理器UI中搜索IronBarcode库。-它很可能在搜索结果中比所有其他库更早出现。 #### 2.1.2 使用Visual Studio的包管理器控制台 进入工具 > NuGet包管理器 > 包管理器控制台。 在出现的命令行面板中输入以下命令并按下Enter键:

上面的命令会将库下载并安装到当前的项目中。

2.1.3 从NuGet网站下载库 在浏览器中搜索NuGet Gallery网站上的Barcode库页面,(或点击此NuGet BarCode包链接直接访问页面)。

Install-Package BarCode

点击右侧菜单中的下载包链接,将库保存到您的计算机上。

接下来,从文件管理器中双击下载的库以自动安装到您的项目中。

Search for the Barcode library page on the NuGet Gallery website in your browser, (or click on this NuGet BarCode package link to access the page directly).

2.1.4 从IronBarcode网站下载库 点击IronBarcode的主页下载最新的.NET条码DLL。 下载完成后,按照以下步骤将包添加到项目中:

  1. 解决方案资源管理器面板中右键点击项目,然后点击添加 > 引用

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

  1. 点击浏览按钮并导航到您提取DLL的位置。

选择DLL后,点击确定将其添加到项目中。 .NET QR代码生成器(代码示例教程),图7:将IronBarcode DLL作为项目中的新COM引用插入。

将IronBarcode DLL作为项目中的新引用插入 #### 3.1 在Windows/控制台应用程序中使用IronBarcode

通过从CreateQrCode方法生成一个新的QR码: CreateQrCode方法接受一个必需参数,该参数是要编码到码图像中的数据(可以是字符串)。

步骤3. 生成QR码图像

该方法还接受三个可选参数:

Generate a new QR code by invoking the CreateQrCode method from the QRCodeWriter class:

using IronBarCode; // Add IronBarCode namespace at the top

var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");
using IronBarCode; // Add IronBarCode namespace at the top

var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");
Imports IronBarCode ' Add IronBarCode namespace at the top

Private qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0)
qrCode.SaveAsPng("MyQR.png")
$vbLabelText   $csharpLabel
  1. 错误校正级别。 IronBarcode提供了四个错误校正级别:低、中、高和最高。默认情况下,CreateQrCode使用最高校正级别QRCodeWriter.QrErrorCorrectionLevel.Highest

  2. QR符号版本号。 请查阅此页面以获取有效版本的列表。 值为0(默认值)指示该方法根据它将编码的数据使用正确的版本号。 上面的示例生成了一个500x500像素的图形,使用中等级别的错误校正。 上述生成的QR码上调用SaveAsPng方法会将其保存为PNG文件到指定的文件位置。 .NET QR代码生成器(代码示例教程),图8:使用上述参数调用QrCodeWriter.CreateQrCode的结果。

使用上述参数调用QrCodeWriter.CreateQrCode的结果 接下来,下面的示例代码使用CreateQrCodeWithLogo方法为生成的QR码添加公司标识,这是任何企业的典型使用场景。

在上面的例子中,将字符串值“Hello, World”编码为一个新的QR码,该码嵌入一个位于指定文件路径的图像。 图像会自动调整大小以适应QR码的方格,并被对齐到QR Code阅读器仍能读取纯码数据的大小。

上述代码的下一行使用ChangeBarCodeColor方法将QR码的颜色更改为深红色。

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

在这里,我们使用C#提供的可用系统色类类型之一进行着色(即System.Drawing.Color.DarkRed)。 可以用HTML十六进制色彩表示法指定颜色,如下行代码所示:

上面代码示例中的最后一行代码调用SaveAsPng方法将QR码保存为PNG文件。QR码可以保存为其他文件格式,如HTML: 请查阅此文档页面获取可以保存QR码的文件类型列表。 .NET QR代码生成器(代码示例教程),图9:使用IronBarcode的QRCodeWriter类的可用方法,以不同颜色生成QR码,不同格式的文件,并使用不同的图像。

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

使用IronBarcode的QRCodeWriter类的可用方法,以不同颜色生成QR码,不同格式的文件,并使用不同的图像。

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

3.2 在Web应用程序中使用IronBarcode

下面的代码行演示了IronBarcode如何在.NET MVC Web应用程序中使用: 上面的例子与之前的例子非常相似。

首先生成一个QR码,然后在响应主体中返回给客户端。

IronBarcode是市面上可用的最快和最强大的读取和写入条码的库之一。

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

这个简单的库支持各种操作系统,支持多种条码格式,易于使用。 IronBarcode的许可和法律信息可以在许可页面查阅。

结论

IronBarcode在免费开发者许可下可以免费使用。 高级(付费)开发者许可包括一年免费的支持和产品更新。

The licensing and legal information for using IronBarcode can be found on the licensing page. IronBarcode is free to use under the Free Developer License. The premium (paid) developer licensing includes one year of free support and product updates.

常见问题解答

如何在 .NET 应用程序中生成 QR 代码?

您可以在 .NET 应用程序中通过使用 IronBarcode 中的 QRCodeWriter.CreateQrCode 方法生成 QR 代码。此方法允许您指定 QR 代码数据、大小和纠错级别。

QR 代码有哪些可用的自定义选项?

IronBarcode 允许对 QR 代码进行自定义,包括更改颜色和嵌入公司徽标等图像。这些功能增强了 QR 代码的视觉吸引力和品牌集成。

如何在我的项目中安装 IronBarcode 库?

您可以通过 Visual Studio 的 NuGet 包管理器 UI、包管理器控制台或从 NuGet 网站下载,将 IronBarcode 安装到您的项目中。

IronBarcode可用于从视频帧中读取条码吗?

是的,IronBarcode 可以处理视频帧,允许通过修正旋转和噪声以实时读取条形码,从而提高条形码读取效率。

使用 IronBarcode 生成的 QR 代码可以保存为哪些文件格式?

使用 IronBarcode 生成的 QR 代码可以以多种格式保存,包括 PNG 和 HTML,为不同的应用程序需求提供灵活性。

IronBarcode 是否适用于控制台和网络应用程序?

是的,IronBarcode 兼具灵活性,可以在控制台和 .NET MVC 网络应用程序中使用,是各种开发环境的强大选择。

IronBarcode 中的 QR 代码有哪些纠错级别可用?

IronBarcode 支持四个级别的QR代码纠错:低、中、高和最高,确保即使QR代码损坏也能保持数据完整性。

IronBarcode 的许可选项是什么?

IronBarcode 提供了一个免费开发者许可证和一个包含额外支持和更新的高级版本,以满足不同的开发和业务需求。

IronBarcode 是否兼容 .NET Core 和 .NET Framework?

是的,IronBarcode 兼容 .NET Core 和 .NET Framework,支持包括32位和64位系统在内的各种体系结构。

Jordi Bardia
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。