在 C# 中扫描和读取条形码

上一篇文章 中,您学习了如何以编程方式生成各种类型的条形码。在本文中,您将学习如何使用 C# 条码阅读器 API 读取条码。本文还将介绍如何读取图像中特定或不同类型的条形码符号。

用于读取条形码的 C# API

Aspose.BarCode for .NET 提供强大的条形码扫描仪和阅读器 API,让您可以在几行代码中读取各种条形码符号。您可以 下载 API 或使用 NuGet 在您的 .NET 应用程序中安装它。

PM> Install-Package Aspose.BarCode

使用 C# 读取条形码

以下是从图像文件中读取一维或二维条码的步骤。

以下代码示例显示了如何使用 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 以一次性识别所有条码。以下是在单个图像中读取多个条形码的步骤。

以下代码示例展示了如何使用 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 的更多信息。

也可以看看