在 上一篇文章 中,您学习了如何以编程方式生成各种类型的条形码。在本文中,您将学习如何使用 C# 条码阅读器 API 读取条码。本文还将介绍如何读取图像中特定或不同类型的条形码符号。
用于读取条形码的 C# API
Aspose.BarCode for .NET 提供强大的条形码扫描仪和阅读器 API,让您可以在几行代码中读取各种条形码符号。您可以 下载 API 或使用 NuGet 在您的 .NET 应用程序中安装它。
PM> Install-Package Aspose.BarCode
使用 C# 读取条形码
以下是从图像文件中读取一维或二维条码的步骤。
- 创建一个 BarCodeReader 类的对象并指定图像的文件路径。
- 使用 BarCodeResult 类从 BarCodeReader.ReadBarCodes() 方法中获取识别结果。
- 从 BarCodeResult 对象中检索条形码的类型和文本。
以下代码示例显示了如何使用 C# 读取条形码。
try
{
// 从目录中读取文件
using (BarCodeReader reader = new BarCodeReader("Scan.jpg"))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
// 读取符号类型和代码文本
Console.WriteLine("Symbology Type: " + result.CodeType);
Console.WriteLine("CodeText: " + result.CodeText);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose BarCode License. You can purchase full license or get 30 day temporary license from https://www.aspose.com/purchase/default.aspx.");
}
在 C# 中读取特定的条码符号
当您已经知道要读取的条形码的符号系统时,可能会出现这种情况。在这种情况下,您可以将条形码的类型提供给 BarCodeReader 的对象。事先了解类型可加快条码识别过程。以下代码示例显示了如何指定条形码的类型。
try
{
// 创建 BarCodeReader 类的实例
using (BarCodeReader reader = new BarCodeReader("Code128.jpg", DecodeType.Code128))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
// 显示代码文本和符号系统类型
Console.WriteLine("CodeText: " + result.CodeText);
Console.Write("Symbology Type: " + result.CodeType);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose BarCode License. You can purchase full license or get 30 day temporary license from http://wwww.aspose.com/purchase/default.aspx.");
}
在单个图像中扫描多个条码符号
在特定情况下,您可能会将多个条形码符号系统放置在单个图像中。对于这种情况,您可以配置 API 以一次性识别所有条码。以下是在单个图像中读取多个条形码的步骤。
- 创建一个 BaseDecodeType 数组以包含条形码符号列表。
- 创建 BarCodeReader 类的对象并加载图像。
- 使用 BarCodeReader.ReadBarCodes() 读取条形码并提取其类型和文本。
以下代码示例展示了如何使用 C# 读取单个图像中的多个条形码符号。
try
{
BaseDecodeType[] objArray = new BaseDecodeType[] { DecodeType.Code39Standard, DecodeType.Pdf417 };
// 初始化 BarCodeReader,循环调用 Read() 方法并显示代码文本和符号类型
using (BarCodeReader reader = new BarCodeReader("RecognizingMultipleSymbologies.png", objArray))
{
foreach (BarCodeResult result in reader.ReadBarCodes())
{
Console.WriteLine("Codetext: " + result.CodeText);
Console.WriteLine("Symbology type: " + result.CodeType);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose BarCode License. You can purchase full license or get 30 day temporary license from http://wwww.aspose.com/purchase/default.aspx.");
}
结论
在本文中,您学习了如何使用 C# 以编程方式读取条形码。此外,您还了解了如何读取单个图像中的一个或多个条码符号。您可以使用 文档 了解有关 C# 条码阅读器 API 的更多信息。