สแกนและอ่านบาร์โค้ดใน C#

ใน บทความก่อนหน้า คุณได้เรียนรู้วิธีสร้างบาร์โค้ดประเภทต่างๆ โดยทางโปรแกรม ในบทความนี้ คุณจะได้เรียนรู้วิธีการอ่านบาร์โค้ดโดยใช้ C# barcode reader API บทความนี้จะกล่าวถึงวิธีการอ่านสัญลักษณ์บาร์โค้ดแบบเฉพาะเจาะจงหรือแบบต่างๆ ในภาพด้วย

C# API เพื่ออ่านบาร์โค้ด

Aspose.BarCode for .NET มี API ของเครื่องสแกนบาร์โค้ดและเครื่องอ่านที่มีประสิทธิภาพ ซึ่งช่วยให้คุณอ่านสัญลักษณ์บาร์โค้ดต่างๆ ได้ภายในโค้ดไม่กี่บรรทัด คุณสามารถ ดาวน์โหลด API หรือติดตั้งภายในแอปพลิเคชัน .NET ของคุณโดยใช้ NuGet

PM> Install-Package Aspose.BarCode

อ่านบาร์โค้ดโดยใช้ C#

ต่อไปนี้เป็นขั้นตอนในการอ่านบาร์โค้ด 1D หรือ 2D จากไฟล์รูปภาพ

  • สร้างวัตถุของคลาส 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, Call 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# โดยใช้ เอกสารประกอบ

ดูสิ่งนี้ด้วย