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

How to Generate Barcode Images in C# .NET Applications

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

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

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

using IronBarcode,只需一次简单的调用即可生成和导出条形码图像。 使用SaveAsPng——无需复杂设置。

  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/BarCode

    PM > Install-Package BarCode
  2. 复制并运行这段代码。

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

    通过免费试用立即在您的项目中开始使用IronBarcode

    arrow pointer

How Do I Install a Barcode Generator Library in C#?

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

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

How Can I Generate a Simple Barcode Using C#?

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

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-barcode-image-generator-3.cs
using IronBarCode;
using IronSoftware.Drawing;

// Fluent API for Barcode Image generation.
string value = "https://ironsoftware.com/csharp/barcode";
AnyBitmap barcodeBitmap = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.PDF417).ResizeTo(300, 200).SetMargins(100).ToBitmap();
System.Drawing.Bitmap barcodeLegacyBitmap = (System.Drawing.Bitmap)barcodeBitmap;
Imports IronBarCode
Imports IronSoftware.Drawing

' Fluent API for Barcode Image generation.
Private value As String = "https://ironsoftware.com/csharp/barcode"
Private barcodeBitmap As AnyBitmap = BarcodeWriter.CreateBarcode(value, BarcodeEncoding.PDF417).ResizeTo(300, 200).SetMargins(100).ToBitmap()
Private barcodeLegacyBitmap As System.Drawing.Bitmap = CType(barcodeBitmap, System.Drawing.Bitmap)
$vbLabelText   $csharpLabel

BarcodeWriter.CreateBarcode()方法是您生成条码的入口点。 它接受两个参数:您想要编码的数据和从BarcodeWriterEncoding枚举中的条码格式。 IronBarcode支持所有主流条码格式,包括QRCode代码。

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

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

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

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

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-barcode-image-generator-4.cs
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
Dim 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类提供丰富的方法集用于定制化:

  • 注释:使用AddAnnotationTextBelowBarcode()添加自定义标签或在条码周围添加说明
  • 值显示AddBarcodeValueTextBelowBarcode()方法会自动显示人类可读格式的编码数据
  • 间距:使用SetMargins()控制空白区域以确保正确扫描和视觉吸引力
  • 颜色:使用ChangeBackgroundColor()改变前景色和背景色 导出选项:保存为图像文件、PDF 或独立的 HTML 文档
使用IronBarcode样式功能生成的带注释的紫色定制QR码 *带有自定义颜色和注释文本的样式化二维码*

有关详细的定制选项,请浏览GeneratedBarcode类文档,涵盖所有可用的样式方法和属性。

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

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

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-barcode-image-generator-5.cs
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
Dim value As String = "https://ironsoftware.com/csharp/barcode"

' Create PDF417 barcode with chained operations
Dim barcodeBitmap As AnyBitmap = 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
Dim legacyBitmap As System.Drawing.Bitmap = barcodeBitmap
$vbLabelText   $csharpLabel

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

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

常见的流畅操作包括:

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

IronBarcode支持哪些条形码格式?

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

1D条码EAN13 2D条码MaxiCode 特殊格式DataBarExpanded,以及各种GS1标准

每种格式都有其特定的特点和应用场景。 例如,EAN13是零售产品的标准。 了解更多关于如何为您的应用选择合适的条形码格式的信息

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

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

:path=/static-assets/barcode/content-code-examples/tutorials/csharp-barcode-image-generator-6.cs
// 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("TEST123");
Console.WriteLine($"Barcode verification: {(isReadable ? "PASS" : "FAIL")}");
Imports System.Drawing

' 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("TEST123")
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() 设置边距。

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

using 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 拥有曼彻斯特大学土木工程一级荣誉工程学士学位(BEng)(1998-2001 年)。他的旗舰产品 IronPDF 和 Iron Suite for .NET 库在全球的 NuGet 安装量已超过 3000 万次,其基础代码继续为全球使用的开发人员工具提供动力。Jacob 拥有 25 年的商业经验和 41 年的编码专业知识,他一直专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。

准备开始了吗?
Nuget 下载 2,317,217 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package BarCode
运行示例 观看您的字符串变成 BarCode。