اسکن و خواندن بارکد در سی شارپ

در مقاله قبلی، نحوه تولید انواع بارکدها را به صورت برنامه‌ریزی آموخته‌اید. در این مقاله با نحوه خواندن بارکدها با استفاده از API بارکد خوان C# آشنا می شوید. این مقاله همچنین نحوه خواندن انواع خاص یا مختلف نمادهای بارکد در یک تصویر را پوشش خواهد داد.

C# API برای خواندن بارکد

Aspose.BarCode for .NET یک اسکنر بارکد و API خواننده قدرتمند ارائه می دهد که به شما امکان می دهد انواع نمادهای بارکد را در چند خط کد بخوانید. می توانید API را دانلود یا در برنامه دات نت خود با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.BarCode

خواندن بارکد با استفاده از سی شارپ

مراحل زیر برای خواندن یک بارکد یک بعدی یا دو بعدی از یک فایل تصویری است.

نمونه کد زیر نحوه خواندن بارکد با استفاده از 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.");
}

یک نماد بارکد خاص را در سی شارپ بخوانید

ممکن است موردی وجود داشته باشد که قبلاً در مورد نماد بارکدی که قرار است بخوانید بدانید. در چنین شرایطی، می توانید نوع بارکد را به شی 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.");
}

نتیجه

در این مقاله یاد گرفتید که چگونه بارکدها را به صورت برنامه نویسی با استفاده از سی شارپ بخوانید. علاوه بر این، نحوه خواندن یک یا چند نماد بارکد را در یک تصویر مشاهده کرده اید. می‌توانید با استفاده از مستندات درباره API بارکدخوان C# بیشتر بیاموزید.

همچنین ببینید