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 trình đọc mã vạch C#
- Đọc mã vạch bằng C#
- Quét và đọc ký hiệu mã vạch cụ thể trong C#
- Nhiều ký hiệu mã vạch trong một hình ảnh duy nhất
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.
- Tạo một đối tượng thuộc lớp BarCodeReader và chỉ định đường dẫn tệp của hình ảnh.
- Sử dụng lớp BarCodeResult để tìm nạp kết quả nhận dạng từ phương thức BarCodeReader.ReadBarCodes().
- Truy xuất loại và văn bản của mã vạch từ đối tượng BarCodeResult.
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.
- Tạo một mảng BaseDecodeType để chứa danh sách ký hiệu mã vạch.
- Tạo một đối tượng thuộc lớp BarCodeReader và tải hình ảnh.
- Đọc mã vạch bằng BarCodeReader.ReadBarCodes() và trích xuất loại và văn bản của chúng.
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.