quét và đọc mã vạch trong C#

Trong bài viết trước, bạn đã học cách tạo các loại mã vạch khác nhau theo chương trình. Trong bài viết này, bạn sẽ tìm hiểu cách đọc mã vạch bằng API trình đọc mã vạch C#. Bài viết cũng sẽ đề cập đến cách đọc các loại ký hiệu mã vạch cụ thể hoặc khác nhau trong một hình ảnh.

API C# để đọc mã vạch

Aspose.BarCode for .NET cung cấp API trình đọc và quét mã vạch mạnh mẽ cho phép bạn đọc nhiều loại ký hiệu mã vạch trong một vài dòng mã. Bạn có thể tải xuống API hoặc cài đặt nó trong ứng dụng .NET của mình bằng NuGet.

PM> Install-Package Aspose.BarCode

Đọc mã vạch bằng C#

Sau đây là các bước để đọc mã vạch 1D hoặc 2D từ tệp hình ảnh.

Mẫu mã sau đây cho biết cách đọc mã vạch bằng C#.

try
{
	// Đọc tệp từ thư mục
	using (BarCodeReader reader = new BarCodeReader("Scan.jpg"))
	{
		foreach (BarCodeResult result in reader.ReadBarCodes())
		{
			// Đọc loại ký hiệu và văn bản mã
			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 ký hiệu mã vạch cụ thể trong C#

Có thể xảy ra trường hợp bạn đã biết về ký hiệu của mã vạch mà bạn sắp đọc. Trong những trường hợp như vậy, bạn có thể cung cấp loại mã vạch cho đối tượng của BarCodeReader. Biết trước loại sẽ đẩy nhanh quá trình nhận dạng mã vạch. Mẫu mã sau đây cho biết cách chỉ định loại mã vạch.

try
{
    // Tạo thể hiện của lớp BarCodeReader 
    using (BarCodeReader reader = new BarCodeReader("Code128.jpg", DecodeType.Code128))
    {
        foreach (BarCodeResult result in reader.ReadBarCodes())
        {
            // Hiển thị văn bản mã và Loại ký hiệu
            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.");
}

Quét nhiều ký hiệu mã vạch trong một hình ảnh duy nhất

Trong các trường hợp cụ thể, bạn có thể có nhiều ký hiệu mã vạch được đặt trong một hình ảnh. Đối với trường hợp như vậy, bạn có thể định cấu hình API để nhận dạng tất cả các mã vạch trong một lần. Sau đây là các bước để đọc nhiều mã vạch trong một hình ảnh.

Mẫu mã sau đây cho biết cách đọc nhiều ký hiệu mã vạch trong một hình ảnh bằng C#.

try
{                 
    BaseDecodeType[] objArray = new BaseDecodeType[] { DecodeType.Code39Standard, DecodeType.Pdf417 };

    // Khởi tạo phương thức BarCodeReader, Gọi Read() trong một vòng lặp và Hiển thị loại văn bản mã và ký hiệu
    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.");
}

Sự kết luận

Trong bài viết này, bạn đã học cách đọc mã vạch theo chương trình bằng C#. Ngoài ra, bạn đã biết cách đọc một hoặc nhiều ký hiệu mã vạch trong một hình ảnh. Bạn có thể tìm hiểu thêm về API trình đọc mã vạch C# bằng cách sử dụng tài liệu.

Xem thêm