сканировать и читать штрих-код в С#

В предыдущей статье вы узнали, как программно генерировать различные типы штрих-кодов. В этой статье вы узнаете, как читать штрих-коды с помощью API чтения штрих-кодов C#. В статье также будет рассказано, как читать определенные или разные типы символов штрих-кода на изображении.

C# API для чтения штрих-кодов

Aspose.BarCode for .NET предоставляет мощный сканер штрих-кода и API-интерфейс для чтения, который позволяет считывать различные символы штрих-кода в нескольких строках кода. Вы можете либо загрузить API, либо установить его в своем приложении .NET с помощью NuGet.

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#. Кроме того, вы увидели, как считывать одну или несколько символик штрих-кода на одном изображении. Вы можете узнать больше об API считывателя штрих-кода C#, используя документацию.

Смотрите также