zeskanuj i odczytaj kod kreskowy w C#

W poprzednim artykule nauczyłeś się, jak programowo generować różne typy kodów kreskowych. W tym artykule dowiesz się, jak odczytywać kody kreskowe za pomocą interfejsu API czytnika kodów kreskowych C#. W artykule omówiono również sposób odczytywania określonych lub różnych typów symboli kodów kreskowych na obrazie.

C# API do odczytu kodów kreskowych

Aspose.BarCode for .NET zapewnia potężny skaner kodów kreskowych i interfejs API czytnika, który umożliwia odczytywanie różnych symboli kodów kreskowych w kilku wierszach kodu. Możesz pobrać interfejs API lub zainstalować go w swojej aplikacji .NET przy użyciu NuGet.

PM> Install-Package Aspose.BarCode

Czytaj kody kreskowe za pomocą C#

Poniżej przedstawiono kroki, aby odczytać kod kreskowy 1D lub 2D z pliku obrazu.

Poniższy przykładowy kod pokazuje, jak odczytać kod kreskowy przy użyciu języka C#.

try
{
	// Odczyt pliku z katalogu
	using (BarCodeReader reader = new BarCodeReader("Scan.jpg"))
	{
		foreach (BarCodeResult result in reader.ReadBarCodes())
		{
			// Przeczytaj typ symboliki i tekst kodu
			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.");
}

Przeczytaj określoną symbolikę kodu kreskowego w C#

Może się zdarzyć, że znasz już symbolikę kodu kreskowego, który zamierzasz przeczytać. W takich sytuacjach możesz podać typ kodu kreskowego do obiektu BarCodeReader. Znajomość typu z wyprzedzeniem przyspiesza proces rozpoznawania kodu kreskowego. Poniższy przykład kodu pokazuje, jak określić typ kodu kreskowego.

try
{
    // Utwórz instancję klasy BarCodeReader 
    using (BarCodeReader reader = new BarCodeReader("Code128.jpg", DecodeType.Code128))
    {
        foreach (BarCodeResult result in reader.ReadBarCodes())
        {
            // Wyświetl tekst kodu i typ symboliki
            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.");
}

Skanuj wiele symboli kodów kreskowych w jednym obrazie

W szczególnych przypadkach na jednym obrazie można umieścić wiele symboli kodów kreskowych. W takim przypadku możesz skonfigurować interfejs API, aby rozpoznawał wszystkie kody kreskowe za jednym razem. Poniżej przedstawiono kroki, aby odczytać wiele kodów kreskowych na jednym obrazie.

Poniższy przykład kodu pokazuje, jak odczytać wiele symboli kodów kreskowych w jednym obrazie przy użyciu języka C#.

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

    // Zainicjuj metodę BarCodeReader, wywołaj metodę Read() w pętli i wyświetl tekst kodowy i typ symboliki
    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.");
}

Wniosek

W tym artykule nauczyłeś się, jak programowo odczytywać kody kreskowe przy użyciu języka C#. Ponadto widziałeś, jak odczytać jedną lub wiele symboli kodu kreskowego na jednym obrazie. Możesz dowiedzieć się więcej o interfejsie API czytnika kodów kreskowych C#, korzystając z dokumentacji.

Zobacz też