HOWTO · Csharp
C#에서 바코드 읽기
이 문서에서는 C#으로 이미지 파일에서 바코드 데이터를 읽는 방법을 간략하게 설명합니다.
이 페이지의 내용
이 자습서에서는 C#으로 이미지 파일에서 바코드 데이터를 읽는 방법을 설명합니다. 타사 패키지를 사용하여 하나 이상의 바코드를 찾고 해당 심볼로지와 디코딩된 텍스트를 출력하는 전체 프로그램을 소개합니다. 여기서 보여 주는 워크플로는 로컬 이미지 파일을 읽습니다. 바코드가 다른 소스에서 제공되는 경우 입력 단계를 별도로 조정해야 합니다.
C#에서 바코드 읽기
Aspose.BarCode 어셈블리 패키지를 사용하면 C#에서 바코드 이미지를 읽을 수 있습니다. Visual Studio에서 콘솔 프로젝트를 만들고 NuGet.org에서 패키지를 설치한 다음, 샘플이 이름으로 열 수 있도록 프로젝트 디렉터리에 barcode.png를 배치합니다. 이 패키지는 인식 API를 제공하며 이미지 자체는 애플리케이션의 입력으로 사용됩니다.
인식 API는 Aspose.BarCode.BarCodeRecognition 네임스페이스에 있습니다. BarCodeReader를 만들고 ReadBarCodes() 메서드를 호출한 후 반환된 각 BarCodeResult를 검사합니다. 각 결과는 심볼로지를 나타내는 CodeType과 디코딩된 값을 나타내는 CodeText를 제공하므로, 하나의 이미지에 여러 바코드가 있어도 같은 루프에서 처리할 수 있습니다.
아래 예제에서는 파일 이름을 받는 생성자를 사용합니다. 입력과 출력을 명확하게 보여 주며 사용 후 리더를 해제합니다. 이 라이브러리에 의존하는 샘플은 여기서 실행 결과를 제시하지 않습니다. 실행하려면 패키지를 설치하고 barcode.png를 준비해야 합니다. 파일을 열 수 없거나 라이브러리가 파일을 디코딩하지 못하면 try/catch 블록이 별도의 메시지 없이 종료하는 대신 라이브러리의 메시지를 출력합니다.
-
Visual Studio에서 C# 콘솔 애플리케이션을 만듭니다.
-
"Project"탭으로 이동하여"Manage NuGet Packages"를 선택합니다.
-
NuGet.org에서
Aspose.BarCode패키지를 검색하여 설치합니다.
이제 코드에서
Aspose.BarCode.BarCodeRecognition네임스페이스를 가져와 바코드 인식 기능을 사용할 수 있습니다. -
다음 코드 조각을
program.cs파일에 복사합니다.using System; using Aspose.BarCode; using Aspose.BarCode.BarCodeRecognition; namespace BarcodeScanner { class Program { static void Main(string[] args) { try { // The file is in the project directory. using (BarCodeReader barCodeReader = new BarCodeReader("barcode.png")) { foreach (BarCodeResult output in barCodeReader.ReadBarCodes()) { // Read the barcode Console.WriteLine("Symbology Type: " + output.CodeType); Console.WriteLine("CodeText: " + output.CodeText); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } } } }이 코드는 프로젝트 디렉터리에서
barcode.png를 읽습니다.foreach루프는 이미지에서 반환된 모든BarCodeResult를 처리합니다. 각 결과에 대해CodeType에서 심볼로지를,CodeText에서 디코딩된 값을 출력합니다.try/catch블록은 입력 또는 라이브러리 오류로 인해 샘플이 메시지 없이 종료되지 않도록 합니다.BarCodeReader클래스에는 오버로드된 생성자가 있으며, 이 예제에서는 파일 이름을 받는 생성자를 의도적으로 사용합니다. 다른 입력 형식은 라이브러리 버전에 따라 달라지며 여기서 보여 주는 워크플로의 범위를 벗어나므로, 이 문서에서는 다른 형식을 서로 바꿔 사용할 수 있는 코드로 제시하지 않습니다.
다음 이미지는 이 문서의 설명에 사용된 입력입니다.
리더는 애플리케이션 출력에 디코딩된 값을 보고합니다. 제공된 스크린샷에는 이 입력에 대한 결과가 표시되어 있습니다.
출력 형태를 빠르게 확인하기 위해, 이 독립 실행형 콘솔 샘플은 로컬 결과 객체를 사용하고 라이브러리 예제와 동일한 두 필드를 출력합니다.
using System;
class Program
{
static void Main()
{
var result = new BarcodeResult("Code128", "123456789");
Console.WriteLine("Symbology Type: " + result.CodeType);
Console.WriteLine("CodeText: " + result.CodeText);
}
private sealed class BarcodeResult
{
public BarcodeResult(string codeType, string codeText)
{
CodeType = codeType;
CodeText = codeText;
}
public string CodeType { get; }
public string CodeText { get; }
}
}
Symbology Type: Code128
CodeText: 123456789
Aspose.BarCode 리더는 유료 도구이며, 제한 없이 기능을 사용하려면 라이선스가 필요합니다.