如何在 C# 中创建条形码和 QR 码图像

如何使用 IronBarcode 在 C## 中创建条码图像。

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

IronBarcode 使 .NET 开发人员只需一行代码即可在 C# 中生成条形码和 QR 码图像,支持多种格式和图像类型。利用强大的 API 构建库存管理系统、零售应用程序或文档处理解决方案,该 API 可创建专业质量的条形码,以便在所有主流阅读器上进行可靠扫描。

作为标题:2(快速入门: 用一行代码创建并保存一个Code128条码)

使用 IronBarcode 的单行 API 从字符串中创建 Code128 条形码并将其保存为 PNG 图像。 立即开始--提供数据、选择编码和大小,然后编写图像文件。

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronBarcode

    PM > Install-Package BarCode

  2. 复制并运行这段代码。

    IronBarCode.BarcodeWriter.CreateBarcode("Sample123", BarcodeEncoding.Code128, 250, 100).SaveAsPng("Barcode.png");
  3. 部署到您的生产环境中进行测试

    立即开始在您的项目中使用 IronBarcode,免费试用!
    arrow pointer

如何生成 BarCode 并保存为图像文件? 除了[读取条形码](https://ironsoftware.com/csharp/barcode/features/read/),IronBarcode 还允许用户用最少的编码编写条形码。 Call the `CreateBarcode()` method from the `BarcodeWriter` class, specifying the barcode value, type, width, and height in the method parameters. 这将输出一个 `GeneratedBarcode` 对象,可使用 `SaveAs()` 方法将其保存为图像文件。

哪些数据类型可用于 BarCode 值? `BarcodeWriter.CreateBarcode()` 方法接受多种数据类型的条形码值:`字节[]数组`、`内存流`和`字符串`。 字符串长度和可接受的字符因 BarCode 类型而异,详情请参见我们的 [API 文档](https://ironsoftware.com/csharp/barcode/object-reference/api/)。 Code128 支持完整的 ASCII 字符集,而 UPC-A 需要 12 位数字。 对于二进制数据,请使用 `byte[] 数组` 对复杂的数据结构进行编码。

支持哪些 BarCode 编码类型? IronBarcode 支持多种条形码格式,请参阅我们的 [Supported Barcode Formats](https://ironsoftware.com/csharp/barcode/get-started/supported-barcode-formats/) 一文了解完整列表。常用格式包括 - **线性/一维条形码**:Code128、Code39、UPC-A、UPC-E、EAN-8、EAN-13 - **二维条形码**:QR 码、数据矩阵、PDF417、阿兹特克码 - **专业格式**:用于运输的 MaxiCode、用于零售的 Databar 每种格式都有特定的用途。 Code128 可以很好地处理一般的字母数字数据,而[QR 代码则为移动扫描提供了卓越的纠错功能](https://ironsoftware.com/csharp/barcode/how-to/error-correction/)。

宽度和高度设置如何影响我的 BarCode? 以像素为单位设置输出 BarCode 图像的尺寸。 两者的默认测量值均为 _250 px_。 某些条形码类型(QR、PDF417)需要特定的尺寸才能符合要求。 当输入尺寸不符合要求时,条形码会以符合要求的尺寸生成,并以空白填充剩余空间。 尺寸太小会出现异常。 优化扫描: - **线性条形码**:保持宽度明显大于高度 - **二维条形码**:二维码使用正方形尺寸(例如 250x250) - **打印质量**:更高的像素尺寸可提高更大物理尺寸的打印质量

我可以将 BarCode 导出到哪些图像格式? 来自 `BarcodeWriter.CreateBarcode()` 的 `GeneratedBarcode` 对象可使用特定的 `SaveAs()` 方法保存为各种图像格式: - `SaveAsGif()`: 保存为 **GIF 图像文件**。 - `SaveAsJpeg()`:保存为 **JPEG图像文件**。 -<代码>SaveAsPng():保存为**PNG 图像文件**(建议用于网络) -<代码>SaveAsTiff():保存为**TIFF 图像文件**(非常适合存档/打印) -<代码>SaveAsWindowsBitmap():保存为 **BMP图像文件**。 -<代码>SaveAsImage():通用方法-在文件路径中指定格式扩展名 此外,[将条形码导出为流](https://ironsoftware.com/csharp/barcode/how-to/export-barcode-as-stream/),用于内存处理或[将条形码创建为 PDF 文档](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-as-pdf/),用于文档集成。

如何生成 BarCode 并将其保存为图像文件? 使用 `BarcodeWriter.CreateBarcode()` 创建 _Code128_ 条形码并将其保存为 JPEG 图像: ```csharp using IronBarCode; // Create a basic barcode BarcodeWriter.CreateBarcode("IronBarcode123", BarcodeEncoding.Code128, 200, 100).SaveAsJpeg("OneDBarcode.jpeg"); // Create a barcode with custom options var myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128, 300, 150); // Apply styling myBarcode.AddBarcodeValueTextBelowBarcode(); myBarcode.SetMargins(10); // Save in multiple formats myBarcode.SaveAsJpeg("product-barcode.jpg"); myBarcode.SaveAsPng("product-barcode.png"); ```
生成的一维条形码,黑色竖条显示条形码创建代码的示例输出
有关高级样式选项,请参阅我们的[自定义条形码样式](https://ironsoftware.com/csharp/barcode/how-to/customize-barcode-style/)指南。

如何生成二维码并保存为图像文件? IronBarcode 完全支持被归类为二维条形码的 **QR 码**。 从餐厅菜单到支付系统,这些工具的多功能性、外观吸引力和可定制功能已被广泛采用。 由于二维码的复杂性,创建二维码需要不同的方法。 调用 `QRCodeWriter` 类中的 `CreateQrCode()` 方法,该方法接受 **4 个参数**:**条码值**、**输出 QR 码大小**、`QRCodeWriter.QrErrorCorrectionLevel` 枚举字段和 `QRVersion` 。

QR 代码值可以使用哪些数据类型? `QRCodeWriter.CreateQrCode()` 以 `byte[] 数组`、`MemoryStream` 或 `System.String` 类型接受数字、字母或字母数字值。QR 代码擅长存储: - **URL**:引导用户访问网站或登陆页面 - **文本**:最多可存储 4296 个字母数字字符 - **二进制数据**:文件或复杂数据结构的编码 - **结构化数据**:VCard、WiFi 证书或支付信息 有关 Unicode 支持和国际字符,请参阅我们的 [ 编写 Unicode 条形码](https://ironsoftware.com/csharp/barcode/how-to/writing-in-unicode/)教程。

如何设置二维码大小? 以 **pixels (px)** 为单位直接指定 QR 代码大小为 `Int32` 类型。 默认大小为 500 px。 考虑这些因素: - **显示媒介**:屏幕显示通常需要 200-400px - **打印应用程序**:使用 600px 或更高的分辨率以获得高质量的打印效果 - **扫描距离**:代码越大,扫描距离越远

什么是 QR 纠错级别,为什么它很重要? `QRErrorCorrectionLevel`决定容错,共有四个级别:**最高**、**高**、**中**和**低**。 校正级别越高,生成的二维码越复杂,即使在损坏或部分模糊的情况下也不会出现读取错误。 #### QRErrorCorrectionLevel.Highest 生成最复杂的 QR 代码,纠错率达 30%。 支持徽标戳记或图像图形。 适用于[定制带有徽标的二维码](https://ironsoftware.com/csharp/barcode/how-to/customize-qr-code-style/)。
以最高纠错级别生成的二维码,显示带有定位方格的密集黑白图案
#### QRErrorCorrectionLevel.High 适用 25% 的纠错率。 复杂程度低于最高级别。 兼顾耐用性和数据容量。
显示高纠错级别的二维码示例,采用密集数据模式和标准定位元素
#### QRErrorCorrectionLevel.Medium 适用 15% 的纠错率。 生成 QR 代码的速度更快,但容易出错。 适用于大多数商业应用,印刷清晰。
生成的二维码示例,显示带有角位置标记的黑白数据矩阵
#### QRErrorCorrectionLevel.Low 应用 7% 的纠错功能,创建最不复杂的二维码。 在需要最大数据容量和最佳扫描条件时使用。
以低纠错级别生成的二维码示例,显示标准的黑白模块模式

何时应使用不同的 QR 版本? QR 版本(1-40)决定了符号的复杂程度和数据容量。 更高的版本会产生更复杂的代码,存储更多的数据。 将版本设置得过低会导致较大数据量的编码问题。 版本 0 会根据编码值自动分配相应的版本。 See QR Version for more information.

如何使用特定设置创建二维码图像? 使用 `QRCodeWriter.CreateQrCode()` 编写二维码并将其保存为图像: ```csharp using IronBarCode; // Basic QR code creation QRCodeWriter.CreateQrCode("IronBarcode1234", 250, QRCodeWriter.QrErrorCorrectionLevel.Medium, qrVersion: 0).SaveAsJpeg("QRMedium.jpeg"); // Advanced QR code with custom styling var qrCode = QRCodeWriter.CreateQrCode("https://ironsoftware.com", 500, QRCodeWriter.QrErrorCorrectionLevel.High); // Add logo and styling qrCode.AddLogo("logo.png"); qrCode.ChangeBarCodeColor(System.Drawing.Color.DarkBlue); // Save in multiple formats qrCode.SaveAsPng("styled-qr.png"); qrCode.SaveAsPdf("styled-qr.pdf"); ```
二维码示例,显示中等纠错级别,采用标准查找模式和数据编码结构
代码以 250 像素对字母数字值进行编码,并进行中等程度的纠错。 版本 0 可让程序选择适当的二维码版本。 `SaveAsJpeg()` 接受带有 JPEG 扩展名的文件名。 ## 生成 BarCode 图像的最佳实践 适用于生产应用: 1.**选择正确的格式**:用于网页的 PNG、用于存档的 TIFF、用于一般用途的 JPEG 2.**测试扫描**:使用多个扫描设备验证 BarCode 3.**应用适当的页边距**:使用[条码页边距设置](https://ironsoftware.com/csharp/barcode/how-to/setting-margins-barcode/)进行可靠扫描 4.**考虑性能**:探索 [async 和多线程选项](https://ironsoftware.com/csharp/barcode/how-to/async-multithread/),用于大批量生成 有关其他示例和技术,请访问我们的 [C# BarCode 图像生成器教程](https://ironsoftware.com/csharp/barcode/tutorials/csharp-barcode-image-generator/)。

常见问题解答

如何使用一行代码在 C# 中创建一个 BarCode 图像?

使用 IronBarcode,您可以使用 BarcodeWriter.CreateBarcode() 方法在一行内创建一个条形码图像。只需传递数据、编码类型、宽度和高度,然后将其保存为图像文件即可。例如IronBarCode.BarcodeWriter.CreateBarcode("Sample123", BarcodeEncoding.Code128, 250, 100).SaveAsPng("Barcode.png");

BarCode 可以编码哪些类型的数据?

IronBarcode 的 BarcodeWriter.CreateBarcode() 方法接受多种数据类型,包括字节数组、MemoryStreams 和字符串。字符串长度和接受的字符因条形码类型而异--Code128 支持完整的 ASCII 字符集,而 UPC-A 则需要 12 位数字。对于二进制数据,您可以使用字节数组来编码复杂的数据结构。

图像生成支持哪些条形码格式?

IronBarcode 支持多种条形码格式,包括线性/一维条形码(Code128、Code39、UPC-A、UPC-E、EAN-8、EAN-13)、二维条形码(QR Code、Data Matrix、PDF417、Aztec)以及特殊格式,如用于运输的 MaxiCode 和用于零售的 Databar。每种格式都有其特定的用途,Code128 可处理一般的字母数字数据,而 QR 码则可为移动扫描提供出色的纠错功能。

如何设置 BarCode 图像的尺寸?

您可以直接在 CreateBarcode() 方法参数中以像素为单位设置条码图像尺寸。IronBarcode 使用默认的宽度和高度均为 250px。某些条码类型如 QR 和 PDF417 可能需要特定的尺寸以符合要求,当输入尺寸不符合要求时,该库会自动进行调整。

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

IronBarcode 允许您使用 SaveAs() 方法将生成的条形码保存为多种图像格式。您可以使用 SaveAsPng() 保存为 PNG 格式,也可以保存为 JPEG、BMP 和 TIFF 等其他常见格式。CreateBarcode() 返回的 GeneratedBarcode 对象为不同的文件类型提供了多种保存方法。

除了传统的 BarCode 之外,我还能生成 QR 码吗?

是的,IronBarcode 完全支持 QR 码和传统条码的生成。通过指定 BarcodeEncoding.QRCode 作为编码类型,您可以使用相同的 CreateBarcode() 方法创建 QR 代码。QR 代码具有卓越的纠错功能,是移动扫描应用程序的理想选择。

Hairil Hasyimi Bin Omar
软件工程师
如所有伟大的工程师一般,Hairil 是个热心的学习者。他正在提高对 C#、Python 和 Java 的知识,并利用这些知识为 Iron Software 团队成员增值。Hairil 从马来西亚的玛拉工业大学加入 Iron Software 团队,获得化学与工艺工程学士学位。
准备开始了吗?
Nuget 下载 2,002,059 | 版本: 2025.12 刚刚发布