使用IRONBARCODE

如何在C#中生成Code 128条形码

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
2024年三月6日
分享:

条形码在现代商业运营中至关重要,从库存管理到产品标识和运输。Code 128在各种条形码代码集中脱颖而出,是一种多功能且广泛使用的选项。 在本文中,我们将探索如何使用IronBarcode库在C#中构建一个Code 128条形码生成器。

如何在 C# 中生成 Code 128 条形码;

  1. 安装 IronBarcode 库

  2. 使用 Code 128 编码生成条形码

  3. 调整 BarCode 的大小

  4. 通过更改背景和条形码颜色来设计条形码样式

  5. 阅读创建的 BarCode

Code 128 BarCode 简介

Code 128 代码集是一种高密度、可变长度的线性条形码,可对字母数字数据和特殊字符进行编码。 它具有自校验功能,包括校验位,以确保数据的准确性。 Code 128 编码方案支持三个控制字符:

  1. A字符集: 包括大写字母、数字和特殊字符。

  2. 字符集 B:包括大写字母、小写字母、数字和其他特殊字符。

  3. 字符集 C:编码数字对(00 到 99)。

为什么选择 IronBarcode?

IronBarcode 是一个强大的 .NET 库,可实现条形码的生成、解码和自定义。 支持多种条形码编码,如Code 128、Code 39、Code 93、Code EAN 13、EAN 8、二维码等。 它为内容、大小和外观调整提供了直观的 API。 其解码功能、自动校验和计算以及图像导出使其成为库存管理及其他领域开发人员的宝贵工具。 该库对属性、页边距、字体和颜色的自定义选项增强了其在 BarCode 相关任务中的通用性。

创建 Code 128 BarCode Generator C#

现在,我们将在 C# 中编写生成代码 128 BarCode 图像的代码。 第一步是在我们的项目中安装 IronBarcode 库。 项目可以是任何类型,如 Windows 窗体、Web 窗体、MAUI、Xamarin、ASP.NET MVC、Razor 或 Balzor 项目。

安装 IronBarcode 库

要使用 Visual Studio 中的 Package Manager Console 安装 IronBarcode NuGet 包,您可以按照以下步骤操作:

  1. 打开 Visual Studio。

  2. 在顶部菜单中,转到 "视图">"其他窗口">"软件包管理器控制台",打开软件包管理器控制台。

  3. 在软件包管理器控制台中,您可以使用 Install-Package 命令安装 IronBarcode 软件包。 键入以下命令并按 Enter:
    :ProductInstall
  1. 此命令将下载并安装最新版本的 IronBarcode NuGet 软件包及其依赖项到您的项目中。

    添加以下命名空间,以便在您的项目中使用 BarCode 库。

using IronBarCode;
using IronBarCode;
Imports IronBarCode
$vbLabelText   $csharpLabel

生成 Code 128 BarCode 图像

以下代码将生成代码128条形码。

var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
myBarcode.SaveAsJpeg("myBarcode.Jpeg");
Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
myBarcode.SaveAsJpeg("myBarcode.Jpeg")
$vbLabelText   $csharpLabel

该代码根据输入字符串创建条形码,并将其保存为名为 "myBarcode.Jpeg "的 JPEG 图像文件。使用的特定编码是 Code 128,它可以表示字母数字字符。

说明

第一行代码创建了一个名为 myBarcode 的新变量。 它使用 BarcodeWriter.CreateBarcode 方法根据输入字符串 "12345ABC12345 "生成条形码。

第二个参数 "BarcodeWriterEncoding.Code128 "指定了条形码的编码类型。 在本例中,使用的是常用于字母数字数据的 Code 128 编码。 生成的条形码存储在 myBarcode 变量中。

第二行将生成的 BarCode 保存为 JPEG 图像文件。保存图像的文件名为 "myBarcode.Jpeg"。 保存图像的格式是 JPEG(联合图像专家组)。

输出

生成的 BarCode 如下:

如何在C#中生成Code 128条形码:图1 - 来自之前代码的输出条形码

现在可以使用条形码读取设备读取该代码。

现在,让我们调整一下 BarCode 的大小。

调整 BarCode 大小

以下代码将根据给定的尺寸调整 BarCode 的大小。

static void Main(string [] args)
 {
     var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
     myBarcode.ResizeTo(800,300); // width & height in pixels (px)
     myBarcode.SaveAsJpeg("myBarcode.Jpeg");
 }
static void Main(string [] args)
 {
     var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
     myBarcode.ResizeTo(800,300); // width & height in pixels (px)
     myBarcode.SaveAsJpeg("myBarcode.Jpeg");
 }
Shared Sub Main(ByVal args() As String)
	 Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
	 myBarcode.ResizeTo(800,300) ' width & height in pixels (px)
	 myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
$vbLabelText   $csharpLabel

创建和保存 BarCode 的代码保持不变。 只需添加附加行,即可调整 BarCode 的大小。

ResizeTo() 方法改变存储在 myBarcode 变量中的条形码图像的大小。 在 myBarcode 对象上调用 ResizeTo 方法。 传递给 ResizeTo 的两个参数是宽度和高度。 在本例中,宽度设置为 800 像素,高度设置为 300 像素。

这样,我们就可以设置最小宽度和条形模块高度。 所生成的 BarCode 图像在调整大小后将具有如下所示的尺寸。

条形码图像

如何在 C# 中生成 Code 128 条形码:图 2 - 从上一个代码生成的条形码缩小版

现在,让我们来设计我们的 BarCode 样式。

样式 Code 128 BarCode

现在,让我们通过更改背景颜色和条形码颜色来设计我们的条形码。

static void Main(string [] args)
 {
     var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
     myBarcode.ResizeTo(800,300);
     myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
     myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
     myBarcode.SaveAsJpeg("myBarcode.Jpeg");
 }
static void Main(string [] args)
 {
     var myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128);
     myBarcode.ResizeTo(800,300);
     myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk);
     myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown);
     myBarcode.SaveAsJpeg("myBarcode.Jpeg");
 }
Shared Sub Main(ByVal args() As String)
	 Dim myBarcode = BarcodeWriter.CreateBarcode("12345ABC12345", BarcodeWriterEncoding.Code128)
	 myBarcode.ResizeTo(800,300)
	 myBarcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.Cornsilk)
	 myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Brown)
	 myBarcode.SaveAsJpeg("myBarcode.Jpeg")
End Sub
$vbLabelText   $csharpLabel

生成和保存 BarCode 的代码是相同的。 我刚刚增加了两行,用于更改背景和 BarCode 颜色。 解释如下

ChangeBackgroundColor 方法被调用在 myBarcode 对象上。 此方法可改变 BarCode 图像的背景颜色。 传给 ChangeBackgroundColor 的参数是 IronSoftware.Drawing.Color.Cornsilk,它指定了所需的背景颜色。 在本例中,背景颜色设置为淡黄色的 Cornsilk。

在 myBarcode 对象上调用 ChangeBarCodeColor 方法。 这种方法可以改变 BarCode 条形码的颜色。 传递给 ChangeBarCodeColor 的参数是 IronSoftware.Drawing.Color.Brown,它指定了所需的条形码颜色。 在本例中,条形码颜色设置为棕色。

输出

输出样式的 BarCode 为:

如何在 C# 中生成 Code 128 条形码:图 3 - 上述代码的输出样式条形码

阅读 Code 128 BarCode

我们已学会生成代码 128 BarCode。 让我们编写一段代码来读取 BarCode:

static void Main(string [] args)
{
    var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
    foreach (var barcodeValue in resultFromBarcode)
    {
        Console.WriteLine(barcodeValue);
    }
}
static void Main(string [] args)
{
    var resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg");
    foreach (var barcodeValue in resultFromBarcode)
    {
        Console.WriteLine(barcodeValue);
    }
}
Shared Sub Main(ByVal args() As String)
	Dim resultFromBarcode = BarcodeReader.Read("myBarcode.Jpeg")
	For Each barcodeValue In resultFromBarcode
		Console.WriteLine(barcodeValue)
	Next barcodeValue
End Sub
$vbLabelText   $csharpLabel

上述代码从 "myBarcode.Jpeg "图像文件中读取条形码,并将其值打印到控制台。 BarCodeReader 类负责从图像中解码条形码数据。 代码解释如下

代码解释

第一行创建了一个名为 resultFromBarcode 的变量。 它调用 "BarcodeReader.Read "方法从名为 "myBarcode.Jpeg "的图像文件中读取条形码。 此操作的结果存储在 "resultFromBarcode "变量中。

第二行启动一个循环,遍历 "resultFromBarcode "集合中的每个条形码值。 通过 foreach 循环,我们可以逐一处理每个 BarCode 值。 在循环内部,这一行会将每个 BarCode 值打印到控制台。 barcodeValue "表示从图像中读取的条形码内容。

BarCode 值将打印在 Console 上,如下所示。

输出

如何在C#中生成Code 128条形码:图4 - 读取条形码的控制台输出

结论

总之,本文展示了如何使用IronBarcode库在C#中创建一个Code 128条形码生成器。 通过利用IronBarcode的功能,开发人员可以轻松地生成定制设计Code 128条形码,用于包括库存管理、产品标签和运输在内的各种应用。 通过学习本教程,开发人员可以将强大的条形码功能集成到他们的 C# 项目中,提高处理条形码生成和解码相关任务的效率。 IronBarcode 的多功能性和直观的 API 使其成为开发人员在涉及条码实施的应用程序中的重要工具。

在使用 IronBarcode 库生成 Code 128 条形码的过程中,开发人员可以灵活定制代码集选择字符,确保对具有不同 ASCII 值的数据进行最佳编码。 渲染代码可无缝适应首选图像格式,为开发人员提供以 JPEG 或其他格式保存条形码的选择。 此外,在生成的 BarCode 中加入终止符可确保编码信息的准确终止。

IronBarcode 提供免费试用,以释放库在其开发需求中的全部潜力。 这种方法可使开发人员在承诺使用商业许可证之前评估 IronBarcode 的功能。

乔尔迪·巴尔迪亚
乔尔迪·巴尔迪亚
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 运用技能时,他会进行游戏编程。作为产品测试、产品开发和研究的负责人之一,Jordi 为持续的产品改进增添了极大的价值。多样化的经验让他充满挑战和参与感,他说这是他在 Iron Software 工作中最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。
< 前一页
如何在VB .NET中使用摄像头读取条形码
下一步 >
如何在C#中创建Code 39条形码生成器