如何在 C# 中生成条形码图像

如何在 C# .NET 应用程序中生成条形码图像

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

需要在 .NET 应用程序中快速生成专业条形码图像吗? 本教程将向您展示如何使用 IronBarcode 创建、自定义和导出条形码——从简单的单行实现到高级样式技术,让您可以完全控制条形码的外观。

快速入门:立即创建并保存条形码图像

使用 IronBarcode,只需一次简单的调用即可生成和导出条形码图像。 使用 CreateBarcode 方法创建条形码,选择格式和大小,然后调用 SaveAsPng——无需复杂的设置。

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

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

    PM > Install-Package BarCode

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

    IronBarCode.BarcodeWriter.CreateBarcode("Hello123", BarcodeWriterEncoding.Code128, 200, 100).SaveAsPng("barcode.png");
  3. 部署到您的生产环境中进行测试

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

如何在 C# 中安装条形码生成器库?

使用 NuGet 包管理器安装 IronBarcode 只需几秒钟。 您可以直接通过程序包管理器控制台安装,也可以手动下载 DLL 文件。

Install-Package BarCode
IronBarcode 通过强大的功能和易于使用的 API 简化了 .NET 应用程序中的条形码生成。 IronBarcode 为 .NET 开发人员提供全面的条形码生成功能。

如何使用 C# 生成简单的条形码?

创建你的第一个条形码只需要两行代码。 下面的示例演示了如何生成标准 Code128 条形码并将其保存为图像文件。

using IronBarCode;

// Create a barcode with your desired content and encoding type
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);

// Save the barcode as a PNG image file
myBarcode.SaveAsPng("myBarcode.png");

// Optional: Open the generated image in your default viewer
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo("myBarcode.png") { UseShellExecute = true });
using IronBarCode;

// Create a barcode with your desired content and encoding type
GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128);

// Save the barcode as a PNG image file
myBarcode.SaveAsPng("myBarcode.png");

// Optional: Open the generated image in your default viewer
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo("myBarcode.png") { UseShellExecute = true });
Imports IronBarCode

' Create a barcode with your desired content and encoding type
Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.Code128)

' Save the barcode as a PNG image file
myBarcode.SaveAsPng("myBarcode.png")

' Optional: Open the generated image in your default viewer
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo("myBarcode.png") With {.UseShellExecute = True})
$vbLabelText   $csharpLabel

BarcodeWriter.CreateBarcode()方法是生成条形码的入口点。 它接受两个参数:要编码的数据和来自BarcodeWriterEncoding枚举的条形码格式。 IronBarcode 支持所有主流条形码格式,包括 Code128、Code39、EAN13、UPC-A、PDF417、DataMatrix 和 QR 码。

生成后的GeneratedBarcode对象提供了多种导出选项。 您可以将其保存为各种图像格式(PNG、JPEG、GIF、TIFF),导出为 PDF,甚至可以将其作为System.Drawing.Bitmap检索,以便在您的应用程序中进行进一步处理。

使用 IronBarcode 在 C# 中生成的 Code128 条形码示例 A Code128 barcode generated with IronBarcode displaying a URL

我可以自定义生成的条形码的外观吗?

IronBarcode 提供丰富的自定义选项,远远超出基本的条形码生成功能。 您可以添加注释、调整颜色、设置边距,并控制条形码外观的各个方面。

using IronBarCode;
using IronSoftware.Drawing;

// Create a QR code with advanced styling options
GeneratedBarcode myBarCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com/csharp/barcode", 
    BarcodeWriterEncoding.QRCode
);

// Add descriptive text above the barcode
myBarCode.AddAnnotationTextAboveBarcode("Product URL:");

// Display the encoded value below the barcode
myBarCode.AddBarcodeValueTextBelowBarcode();

// Set consistent margins around the barcode
myBarCode.SetMargins(100);

// Customize the barcode color (purple in this example)
myBarCode.ChangeBarCodeColor(Color.Purple);

// Export as an HTML file for web integration
myBarCode.SaveAsHtmlFile("MyBarCode.html");
using IronBarCode;
using IronSoftware.Drawing;

// Create a QR code with advanced styling options
GeneratedBarcode myBarCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com/csharp/barcode", 
    BarcodeWriterEncoding.QRCode
);

// Add descriptive text above the barcode
myBarCode.AddAnnotationTextAboveBarcode("Product URL:");

// Display the encoded value below the barcode
myBarCode.AddBarcodeValueTextBelowBarcode();

// Set consistent margins around the barcode
myBarCode.SetMargins(100);

// Customize the barcode color (purple in this example)
myBarCode.ChangeBarCodeColor(Color.Purple);

// Export as an HTML file for web integration
myBarCode.SaveAsHtmlFile("MyBarCode.html");
Imports IronBarCode
Imports IronSoftware.Drawing

' Create a QR code with advanced styling options
Private myBarCode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeWriterEncoding.QRCode)

' Add descriptive text above the barcode
myBarCode.AddAnnotationTextAboveBarcode("Product URL:")

' Display the encoded value below the barcode
myBarCode.AddBarcodeValueTextBelowBarcode()

' Set consistent margins around the barcode
myBarCode.SetMargins(100)

' Customize the barcode color (purple in this example)
myBarCode.ChangeBarCodeColor(Color.Purple)

' Export as an HTML file for web integration
myBarCode.SaveAsHtmlFile("MyBarCode.html")
$vbLabelText   $csharpLabel

GeneratedBarcode类提供了一系列丰富的自定义方法:

-注释:使用AddAnnotationTextAboveBarcode()AddAnnotationTextBelowBarcode()函数在条形码周围添加自定义标签或说明。 -值显示AddBarcodeValueTextBelowBarcode()方法会自动以人类可读的格式显示编码后的数据。 -间距:使用SetMargins()控制留白,以确保良好的扫描效果和视觉美观。 -颜色:使用ChangeBarCodeColor()ChangeBackgroundColor()更改前景色和背景色。 导出选项:保存为图像文件、PDF 或独立的 HTML 文档

Customized purple QR code with annotations generated using IronBarcode styling features 带有自定义颜色和注释文本的样式化二维码

有关详细的自定义选项,请参阅GeneratedBarcode类文档,其中涵盖了所有可用的样式方法和属性。

如何用一行代码创建并导出条形码?

IronBarcode 实现了一种流畅的 API 设计模式,支持方法链式调用,从而编写出更简洁、更易读的代码。 当需要对条形码进行多次转换时,这种方法尤其有用。

using IronBarCode;
using IronSoftware.Drawing;

// Generate, style, and convert a barcode in a single statement
string value = "https://ironsoftware.com/csharp/barcode";

// Create PDF417 barcode with chained operations
AnyBitmap barcodeBitmap = BarcodeWriter
    .CreateBarcode(value, BarcodeWriterEncoding.PDF417)  // Create PDF417 barcode
    .ResizeTo(300, 200)                                  // Set specific dimensions
    .SetMargins(10)                                      // Add 10px margins
    .ToBitmap();                                         // Convert to bitmap

// Convert to System.Drawing.Bitmap for legacy compatibility
System.Drawing.Bitmap legacyBitmap = barcodeBitmap;
using IronBarCode;
using IronSoftware.Drawing;

// Generate, style, and convert a barcode in a single statement
string value = "https://ironsoftware.com/csharp/barcode";

// Create PDF417 barcode with chained operations
AnyBitmap barcodeBitmap = BarcodeWriter
    .CreateBarcode(value, BarcodeWriterEncoding.PDF417)  // Create PDF417 barcode
    .ResizeTo(300, 200)                                  // Set specific dimensions
    .SetMargins(10)                                      // Add 10px margins
    .ToBitmap();                                         // Convert to bitmap

// Convert to System.Drawing.Bitmap for legacy compatibility
System.Drawing.Bitmap legacyBitmap = barcodeBitmap;
Imports IronBarCode
Imports IronSoftware.Drawing

' Generate, style, and convert a barcode in a single statement
Private value As String = "https://ironsoftware.com/csharp/barcode"

' Create PDF417 barcode with chained operations
Private barcodeBitmap As AnyBitmap = BarcodeWriter.CreateBarcode(value, BarcodeWriterEncoding.PDF417).ResizeTo(300, 200).SetMargins(10).ToBitmap() ' Convert to bitmap

' Convert to System.Drawing.Bitmap for legacy compatibility
Private legacyBitmap As System.Drawing.Bitmap = barcodeBitmap
$vbLabelText   $csharpLabel

流畅式 API 模式具有以下几个优点:

-可读性:将操作按逻辑顺序串联起来,使其读起来像自然语言。 -效率:减少变量声明和中间步骤 -灵活性:无需重构代码即可轻松添加或删除操作

常见的流畅操作包括:

  • ResizeTo() :精确控制条形码尺寸
  • SetMargins() :添加一致的间距
  • ChangeBarCodeColor() :修改外观
  • AddAnnotationTextAboveBarcode() :添加描述性文本
  • ToBitmap()SaveAsPng()SaveAsPdf() :导出为多种格式
使用 IronBarcode 的 Fluent API 创建的具有自定义尺寸的 PDF417 条形码 A PDF417 barcode generated using fluent method chaining

IronBarcode支持哪些条形码格式?

IronBarcode 通过BarcodeWriterEncoding枚举支持全面的条形码格式生成。 支持的格式包括

一维条码:Code128、Code39、Code93、Codabar、ITF、MSI、Plessey、UPCA、UPCE、EAN8、EAN13 二维条码:QR码、DataMatrix码、PDF417码、Aztec码、MaxiCode码 特殊格式:IntelligentMail、DataBar、DataBarExpanded 和各种 GS1 标准

每种格式都有其特定的特点和应用场景。 例如,二维码擅长存储网址和大量数据,而 EAN13 是零售产品的标准。 了解更多关于如何为您的应用选择合适的条形码格式的信息

如何验证我生成的条形码是否可读?

质量保证对于条形码的实施至关重要。 IronBarcode 内置验证功能,可确保您生成的条形码始终可扫描:

// Generate and verify a barcode
GeneratedBarcode myBarcode = BarcodeWriter
    .CreateBarcode("TEST123", BarcodeWriterEncoding.Code128)
    .ResizeTo(200, 100)
    .ChangeBarCodeColor(Color.DarkBlue);

// Verify the barcode is still readable after modifications
bool isReadable = myBarcode.Verify();
Console.WriteLine($"Barcode verification: {(isReadable ? "PASS" : "FAIL")}");
// Generate and verify a barcode
GeneratedBarcode myBarcode = BarcodeWriter
    .CreateBarcode("TEST123", BarcodeWriterEncoding.Code128)
    .ResizeTo(200, 100)
    .ChangeBarCodeColor(Color.DarkBlue);

// Verify the barcode is still readable after modifications
bool isReadable = myBarcode.Verify();
Console.WriteLine($"Barcode verification: {(isReadable ? "PASS" : "FAIL")}");
' Generate and verify a barcode
Dim myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("TEST123", BarcodeWriterEncoding.Code128).ResizeTo(200, 100).ChangeBarCodeColor(Color.DarkBlue)

' Verify the barcode is still readable after modifications
Dim isReadable As Boolean = myBarcode.Verify()
Console.WriteLine($"Barcode verification: {(If(isReadable, "PASS", "FAIL"))}")
$vbLabelText   $csharpLabel

Verify()方法检查条形码在应用调整大小或重新着色等转换后是否仍然机器可读。 当使用非标准颜色或非常小的尺寸时,这一点尤其重要。

哪里可以找到更多条形码生成示例?

要扩展条形码生成功能,请探索以下其他资源:

源代码和示例

下载本教程的完整源代码:

高级主题

-生成带有徽标的二维码- 为您的二维码添加品牌标识 条形码样式指南- 掌握高级自定义技巧 -从图像中读取条形码- 通过条形码扫描完成循环 -批量生成条形码- 高效生成多个条形码

API 文档

准备好在您的应用程序中生成专业条形码了吗?

IronBarcode 使条形码生成变得简单,同时又能提供专业应用所需的灵活性。 无论您需要简单的产品代码还是具有自定义样式的复杂二维条形码,IronBarcode 都能用最少的代码轻松处理。

立即下载 IronBarcode ,几分钟内即可开始生成条形码。 需要帮助选择合适的许可证吗? 查看我们的许可选项申请免费试用密钥,以便在您的生产环境中测试 IronBarcode。

常见问题解答

我如何在 C# 中创建条形码图像?

要在 C# 中创建条形码图像,可以使用 IronBarcode 的 BarcodeWriter.CreateBarcode() 方法。这允许您指定数据和条形码格式,然后使用 SaveAsPng() 等方法以 PNG 或 JPEG 格式保存图像。

在 .NET 项目中安装 IronBarcode 的步骤是什么?

您可以通过 Visual Studio 中的 NuGet 包管理器在您的 .NET 项目中安装 IronBarcode。或者,您可以从 IronBarcode 网站下载 DLL 并将其添加到项目引用中。

我如何在 C# 中将条形码导出为 PDF?

IronBarcode 允许使用 GeneratedBarcode 类中的 SaveAsPdf() 方法将条形码导出为 PDF,这是一种以 PDF 格式保存条形码的简便方法。

在 C# 中,条形码有哪些自定义选项?

IronBarcode 提供广泛的自定义选项,例如使用 ChangeBarCodeColor() 更改条形码颜色、使用 AddAnnotationTextAboveBarcode() 添加文本注释,以及使用 SetMargins() 设置边距。

我如何快速在一行代码中创建和样式化条形码?

使用 IronBarcode 的流畅 API,您可以通过方法链在一行代码中创建和样式化条形码:BarcodeWriter.CreateBarcode(data, encoding).ResizeTo(300, 200).SetMargins(10).SaveAsPng(path).

我如何确保修改后的条形码可扫描?

要验证样式或调整大小后的条形码的可扫描性,使用 GeneratedBarcode 对象上的 Verify() 方法以检查其机器可读性。

我可以在 C# 中生成带有徽标的二维码吗?

是的,IronBarcode 支持使用 QRCodeWriter 类生成带有嵌入徽标的二维码,该类包含徽标插入和增强错误更正级别的功能。

在 C# 中高效生成多个条形码的过程是什么?

您可以使用 IronBarcode 高效地在 C# 中生成多个条形码,该工具支持批处理,并允许使用循环或并行处理来处理大批量条形码生成。

在 C# 中,我可以使用哪些文件格式导出条形码?

IronBarcode 支持以多种格式导出条形码,包括 PNG、JPEG、GIF、TIFF、BMP、PDF 和 HTML,为不同的应用程序需求提供了灵活性。

我如何在 C# 中在条形码下方添加人类可读的文本?

要在 C# 中在条形码下方添加人类可读的文本,使用 AddBarcodeValueTextBelowBarcode() 方法,该方法会自动显示编码值为文本格式并置于条形码图像下方。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,是 C# PDF 技术的先锋工程师。作为 Iron Software 核心代码库的原始开发者,自公司成立以来,他就塑造了公司的产品架构,并与首席执行官 Cameron Rimington 一起将其转变成一家公司,拥有50多人,服务于 NASA、特斯拉和全球政府机构。

Jacob 拥有曼彻斯特大学 (1998-2001) 的一级荣誉土木工程学士学位。1999 年在伦敦创办了自己的第一家软件公司,并于 2005 年创建了他的第一个 .NET 组件后,他专注于解决微软生态系统中的复杂问题。

他的旗舰 IronPDF 和 Iron Suite .NET 库在全球已获得超过 3000 万次的 NuGet 安装,其基础代码继续为全球使用的开发者工具提供支持。拥有 25 年商业经验和 41 年编程经验的 Jacob 仍专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。

准备开始了吗?
Nuget 下载 1,979,979 | Version: 2025.11 刚刚发布