如何创建二维条形码

This article was translated from English: Does it need improvement?
Translated
View the article in English

<! -- 待办事项:在此处添加图片 --> <! --介绍的视觉演示 --> <!--描述:截图或图表 -->

IronBarcode 可让您使用简单的 C# 代码生成所有主要的二维条形码格式,包括 QR Code、Aztec、DataMatrix、MaxiCode、PDF417 和新的 rMQR 格式。 只需将所需的编码类型传递给 Create 方法并导出为图像即可。 IronBarcode 支持 30 多种条码格式,可为您的所有条码生成需求提供全面的解决方案。

在狭小的空间内存储详细信息时,二维条形码是权威的行业解决方案。 这些纸张可容纳数千个字符,即使在撕裂、划伤或标记的情况下也能保持可读性。 由于可以从任何角度扫描,而且不要求完全对齐,这些 BarCode 非常适合快节奏的物流和移动扫描应用。 内置的纠错功能可确保您的数据即使在恶劣的条件下也能保持可访问性。

主要的挑战在于根据您的具体需求选择正确的格式。 您可能需要将 Aztec Code 的无边界紧凑设计用于移动票务,将 Data Matrix 的工业精度用于微小的电子元件,或将 PDF417 的海量离线存储容量用于驾驶执照和身份证。 使用 IronBarcode,您可以可靠、高效地生成所有这些格式。

在本指南中,我们将介绍如何生成 QR 码、MaxiCode 和新的 rMQR 等重要的二维格式,以及它们的日常使用案例。

开始使用 IronBarcode

今天在您的项目中使用 IronBarcode,免费试用。

第一步:
green arrow pointer


as-heading:2(快速入门:生成您的第一个二维条形码)

```cs :title= 快速入门 使用 IronBarcode;

// 用一行文字创建 QR 码 var myBarcode = BarcodeWriter.CreateBarcode("Hello World", BarcodeEncoding.QRCode);

// 另存为图片 myBarcode.SaveAsPng("myQRCode.png");


1.通过 NuGet 安装 IronBarcode:`Install-Package BarCode`
2.导入命名空间:<代码>使用 IronBarcCode;</ 代码
3.创建 QR 代码:`var myBarcode = BarcodeWriter.CreateBarcode("Hello World",BarcodeEncoding.QRCode);`。
4.另存为图片:<代码>myBarcode.SaveAsPng("myQRCode.png");</代码
5.完成! 您的 QR 代码已准备就绪。

有关更详细的安装说明,请访问我们的 [NuGet 软件包指南](https://ironsoftware.com/csharp/barcode/get-started/advanced-installation-nuget/)。

<h2>什么是二维条形码,何时使用?

<! -- 待办事项:在此处添加图片 -->
<! -- ![输出显示在 IronPDF 中创建 2d 条形码的结果](/static-assets/images/TODO/create-2d-barcodes-code_output.webp) --> -->
<!--说明:显示代码执行输出或结果的截图 -->

二维条形码(如 QR 码)使用方格或圆点网格来存储水平和垂直方向的信息。 相比之下,线性一维 BarCode 使用单行来存储数据。 标准的 BarCode 只能存储几个数字或字母,而二维码则可以存储海量数据,包括网络链接、ID 详情或整个文件,而且不需要数据库连接。

这种坚固的设计使二维 BarCode 非常耐用。 内置纠错功能,即使在条形码有划痕、撕裂或标记等一般条形码无法识别的情况下也能进行扫描。 这使得二维 BarCode 成为恶劣环境或无法保证完美条件的移动扫描的理想选择。 有关微调纠错的更多信息,请参阅[我们的纠错指南](https://ironsoftware.com/csharp/barcode/how-to/error-correction/)。

让我们来探讨 IronBarcode 支持的所有二维条码格式,演示如何创建它们,并讨论它们的常见用途。 每种格式都有适合特定应用的独特特点。

<h3>如何为移动票务创建阿兹特克条形码?

阿兹台克代码是一种高密度的二维矩阵,其中心是正方形的牛眼图案。 与其他格式不同,阿兹台克代码节省空间,并以紧凑的正方形格式存储数据。

与其他条形码不同,阿兹台克码的独特优势在于它不需要静区。 它通常用于电子登机牌和医疗保健病人腕带等移动票务。 航空公司和交通系统更喜欢这种格式,因为它体积小巧,在智能手机屏幕上具有良好的可读性。

#### 代码

IronBarcode 使生成 Aztec 代码变得简单:在调用 `Create` 方法时,将 `BarcodeEncoding.Aztec` 作为第二个参数传递,然后将结果作为图像导出。 您可以使用 IronBarcode 的样式选项进一步[自定义外观](https://ironsoftware.com/csharp/barcode/how-to/customize-barcode-style/)。

```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-aztec-barcode.cs

输出

显示牛眼图案特征的阿兹台克条形码示例

如何创建用于工业部件标记的 DataMatrix BarCode? 数据矩阵(Data Matrix)是一种紧凑的二维矩阵,通过其外围的 L 形查找器图案可以识别。 这种格式适用于空间有限且耐久性要求较高的场合。 Data Matrix 的独特优势在于极高的耐用性,并能缩小到微小尺寸,用于直接部件标记 (DPM)。 它通常用于空间非常有限的手术器械、电子元件和航空航天部件的工业跟踪。 该格式体积小巧,数据密度高,非常适合[从各种数据类型](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-from-data/)(包括序列号和批次代码)中创建条形码。 #### 代码 IronBarcode 使生成 DataMatrix 代码变得简单:在调用 `Create` 方法时,将 `BarcodeEncoding.DataMatrix` 作为第二个参数传递,然后将结果导出为图像。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-datamatrix-barcode.cs ``` #### 输出
显示 L 形查找器图案的 DataMatrix 条形码示例

如何为货运标签创建 MaxiCode 条形码? MaxiCode 是一种固定大小的二维矩阵,其圆形牛眼图案被六边形网格包围。 这种独特的设计专为传送带上的高速扫描而设计。 MaxiCode 的独特之处在于,无论存储的数据是什么,它的物理尺寸始终为 1 英寸,这就优化了它在传送带上的高速读取。 它通常用于物流和供应链管理,特别是用于 UPS 运输标签上的自动包裹分拣和路由选择。 无论数据有效载荷如何,固定的大小可确保一致的扫描性能。 #### 代码 IronBarcode 使生成 MaxiCode 变得简单:在调用 `Create` 方法时,将 `BarcodeEncoding.MaxiCode` 作为第二个参数传递,然后将其导出为图像。 有关更多示例,请查看我们的 [ BarCode 快速入门指南](https://ironsoftware.com/csharp/barcode/examples/barcode-quickstart/)。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-maxicode-barcode.cs ``` #### 输出
带有六边形图案和圆形靶心的 MaxiCode 条形码示例

如何为身份证创建 PDF417 条形码? PDF417 是一种堆叠线性条形码,其宽大的矩形外观类似于数字静态。 与其他二维格式相比,这种格式编码的数据要多得多,因此非常适合存储详细信息。 PDF417 的独特功能是作为便携式数据文件,可存储大量数据,如照片、姓名和生物识别记录,而无需连接数据库。 它通常用于政府身份证明,如驾驶执照和打印的航空公司登机牌。 格式支持文本和二进制数据编码。 #### 代码 IronBarcode 使生成 PDF417 变得简单:在调用 `Create` 方法时,将 `BarcodeEncoding.PDF417` 作为第二个参数传递,然后将其导出为图像。 您还可以[将条形码保存为各种图像格式](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-images/),包括 PNG、JPEG 等。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-pdf417-barcode.cs ``` #### 输出
PDF417 条形码示例,显示堆叠线性图案

如何为营销活动创建 QR 代码? QR 码是一种高密度二维矩阵,通过其四角的三个独特的方形查找器图案进行识别。 作为最广为人知的二维条形码格式,QR 码在消费者应用中已无处不在。 QR 码的独特优势在于消费者的普遍可及性--它是几乎所有现代智能手机照相应用程序原生支持的唯一一种二维符号,无需额外软件。 它通常用于市场营销和公众参与、链接网站和数字菜单以及促进移动支付。 有关高级 QR 代码生成,请浏览我们的 [QR 代码创建示例](https://ironsoftware.com/csharp/barcode/examples/csharp-create-qr-code/)。 #### 代码 IronBarcode 使生成 QR 代码变得简单:在调用 `Create` 方法时,将 `BarcodeEncoding.QRCode` 作为第二个参数传递,然后将其导出为图像。 您还可以[通过添加徽标和更改颜色来定制二维码样式](https://ironsoftware.com/csharp/barcode/how-to/customize-qr-code-style/)。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-QRCode.cs ``` #### 输出
具有三角查找模式的 QR 码示例

如何为小型电子产品创建微型二维码? 微型二维码是一种小型化的二维矩阵,通过左上角的单个方形查找器图案进行识别。 这种格式专为空间极其有限的应用而设计。 Micro QR 码的独特优势在于通过减少开销来适应极其狭小的空间,与标准的四个静区相比,它只需要两个静区模块,同时以数据容量换取物理紧凑性。 它通常用于标记小型电子元件、印刷电路板 (PCB) 和标准 QR 码过大的工业部件。 由于译文较小,因此有字符限制。 最大版本(M4)最多可容纳 21 个字母数字字符或 35 个数字。 使用 Micro QR 代码时,请仔细规划数据编码策略。 #### 代码 IronBarcode 使生成 MicroQRCode 变得简单:在调用 `Create` 方法时,将 `BarcodeEncoding.MicroQRCode` 作为第二个参数传递,然后将其导出为图像。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-microQR.cs ``` #### 输出
使用单个查找器模式的微型二维码示例

如果我的数据超出 Micro QR 的容量会发生什么情况? 如果输入字符串超过 35 位数字或 21 个字母数字字符,IronBarcode 就会出错。 这种内置验证有助于防止在生产环境中运行时出现错误。
超过微型二维码数据容量时显示的错误信息

如何为狭窄空间创建 rMQR 代码? 矩形微 QR 码(rMQR)是一种专门的二维矩阵,其形状为细长的条状,左上角为单个查找器图案。 这种创新格式解决了 BarCode 技术中的一个特定空白。 rMQR 的独特优势在于能够适应方形代码无法适应的狭长空间,例如薄边框边缘或曲面。 它弥补了 Micro QR 占用空间小和标准 QR 码容量大之间的差距,只需要两个模块的静区。 它通常用于标记电缆、试管、医用小瓶和高度受到严格限制的薄型电子元件。 由于其矩形设计,它可以水平伸展,在不增加垂直占地面积的情况下增加容量。 最大的版本(R17x139)包含多达 219 个字母数字字符或 361 个数字,在保持纤薄外形的同时,其功能明显高于 Micro QR。 #### 代码 IronBarcode 使生成 RMQRCode 变得简单:在调用 `Create` 方法时,将 `BarcodeEncoding.RMQRCode` 作为第二个参数传递,然后将其导出为图像。 如需全面了解 IronBarcode 的所有功能,请访问我们的 [API 参考](https://ironsoftware.com/csharp/barcode/object-reference/api/)。 ```cs :path=/static-assets/barcode/content-code-examples/how-to/create-rmQRcode.cs ``` #### 输出
显示矩形格式的 rMQR 代码示例

如果我的数据超过了 rMQR 的容量,会发生什么情况? 如果输入字符串超过 361 位数字或 219 个字母数字字符,IronBarcode 就会出错。 该验证可确保您的 BarCode 保持可扫描性,并符合 rMQR 规范。
超过 rMQR 代码容量限制时显示的错误信息

我应该选择哪种二维条形码格式?
名称 翻译格式 常见用法 限制与陷阱
Aztec 代码 矩阵(中心向外)
带有中心 "靶心 "查找器的正方形网格。无需静区。
移动登机牌(苹果钱包)、火车票和医疗保健腕带。
  • 中心损坏:依赖于中心查找器;靶心损坏会导致完全故障。
  • 屏幕眩光:反光手机屏幕会使标准扫描仪失明。
数据矩阵 矩阵(L 型)
正方形或长方形,两边有实心 "L "边框。
电子元件、手术器械和金属上的直接零件标记 (DPM)。
  • 静区:需要 1 个模块的白色边框;边缘图形会导致故障。
  • 对比度:闪亮的金属(DPM)需要专门的照明才能阅读。
MaxiCode中文版 固定尺寸矩阵
精确到 1x1 英寸。六边形点,中央为圆形靶心。
UPS 发货标签和高速传送带分拣。
  • 固定尺寸:高度不能低于 1 英寸。
  • 打印机质量:低分辨率热敏打印机会扭曲六边形。
PDF417中文版 堆叠线性
类似数字静态的宽矩形。容量大。
驾驶执照(AAMVA)、身份证和纸质登机牌。
  • 截断:手持扫描仪经常会错过左/右边缘。
  • 尺寸增长:随着数据的增加,物理尺寸也会显著增加。
QR 代码 矩阵
具有三种独特找角模式的正方形。
消费者营销、支付、餐厅菜单、Wi-Fi 配对。
  • 静区:要求有较大的留白(4 个模块宽)。
  • 密度:冗长的 URL 如果没有缩短,就会产生无法聚焦的 "静态"。
微型 QR 微型矩阵
只有一个找角图案的小正方形。
印刷电路板 (PCB)、小型电子元件。
  • 容量限制:最多 ~35 个数字或 21 个字母数字字符。
  • 扫描仪支持:并非所有智能手机相机应用程序都支持。
rMQR中文版 矩形矩阵
连接微型 QR 和标准 QR 的窄长条。
试管、电缆、薄边框、窄产品边缘。
  • 新格式:对传统扫描仪的支持越来越多,但并不普遍。
  • 宽高比:严格针对狭窄空间设计。

常见问题解答

在 C# 中可以创建哪些二维条形码格式?

IronBarcode 支持所有主要的二维条码格式,包括 QR Code、Aztec、DataMatrix、MaxiCode、PDF417 和新的 rMQR 格式。IronBarcode 总共支持 30 多种条形码格式,为您在 C# 应用程序中生成所需的任何二维条形码类型提供了全面的解决方案。

如何用一行代码生成 QR 代码?

使用 IronBarcode 只需一行即可创建 QR 代码:var myBarcode = BarcodeWriter.CreateBarcode("Hello World", BarcodeEncoding.QRCode); 这个简单的 API 调用即可生成一个功能齐全的 QR 代码,然后您可以将其保存为图像或导出为各种格式。

二维 BarCode 损坏后是否仍然可读?

是的,使用 IronBarcode 生成的二维条形码包含内置纠错功能,即使条形码被撕裂、刮伤或标记,也能确保您的数据仍然可以访问。它们还可以从任何角度进行扫描,并且不要求完全对齐,因此非常适合于具有挑战性的扫描条件。

移动票务应使用哪种二维 BarCode 格式?

对于移动票务应用,IronBarcode 可以生成阿兹台克码,其特点是无边框的紧凑设计非常适合移动屏幕。您还可以将 QR 码用于一般移动应用,或探索其他格式,如用于工业用途的 DataMatrix 或用于 ID 卡的 PDF417。

与传统条形码相比,二维条形码可以存储多少数据?

传统的一维条形码只能存储几个数字或字母,而使用 IronBarcode 创建的二维条形码可以存储数千个字符,包括网络链接、详细的 ID 信息等。具体容量取决于格式--PDF417 可提供巨大的离线存储容量,而 DataMatrix 可为较小的组件提供工业精度。

生成的二维 BarCode 可以保存为何种文件格式?

IronBarcode 允许您将二维条码保存为多种图像格式。您可以使用 SaveAsPng() 保存 PNG 文件,SaveAsJpeg() 保存 JPEG 图像,以及其他各种导出方法,以最适合您应用需求的格式保存您的条形码。

我可以生成新的 rMQR BarCode 格式吗?

是的,IronBarcode 支持新的 rMQR(矩形微 QR)格式以及传统 QR 码和其他二维格式。只需在创建条码时指定 BarcodeEncoding.rMQR,即可生成这种现代矩形 QR 码的变体。

是否有免费试用版来测试二维条码生成?

是的,IronBarcode 提供免费试用版,允许您在购买前测试所有二维条码生成功能。您可以通过 NuGet 下载该库,并立即开始创建 QR 码、DataMatrix、Aztec 码和其他二维格式,以评估它是否满足您的需求。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 2,002,059 | 版本: 2025.12 刚刚发布