IronBarcode가 MSI 바코드를 인식할 수 없음

This article was translated from English: Does it need improvement?
Translated
View the article in English

문제

IronBarcode 라이브러리를 사용하여 MSI 바코드를 생성할 때, BarcodeReader.Read 메서드가 생성된 MSI 바코드를 읽을 수 없는 경우가 있어 스캔 결과가 비어있고 바코드에서 예상한 값을 얻지 못하는 상황이 발생합니다.

해결책

MSI 바코드를 BarcodeReader.Read가 읽을 수 있도록 하기 위해서는 Read 메서드에 보조 선택적 매개변수인 BarcodeReaderOptions를 제공해야 합니다. BarcodeReaderOptions 내에서 우리가 읽으려고 하는 바코드 유형을 ExpectedBarcodeTypes 값을 할당하여 명시적으로 지정합니다. 이렇게 하면 Read 메서드가 IronBarcode에서 생성된 MSI 바코드뿐만 아니라 외부의 MSI 바코드도 인식하게 됩니다.

아래는 BarcodeReaderOptionsBarcodeReader.Read에 적용하는 간단한 예제입니다.

코드 예제

// Creating MSI Barcode with the value "12345"
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.MSI);

// Save barcode as image
myBarcode.SaveAsImage("msi.png");

// Reading MSI
var barcodeReaderOptions = new BarcodeReaderOptions
{
     // Assigning BarcodeEncoding.MSI to ExpectBarcodeType to ensure that IronBarcode expects MSI type barcodes specifically 
  ExpectBarcodeTypes = BarcodeEncoding.MSI,
};

// Read barcode with additional barcodeReaderOptions from above
var barcodeResults = BarcodeReader.Read("msi.png", barcodeReaderOptions);

// Using a for loop and print out the result 
foreach (BarcodeResult result in barcodeResults)
{
  Console.WriteLine(result.Text);
    // Output: 12345 
}
// Creating MSI Barcode with the value "12345"
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.MSI);

// Save barcode as image
myBarcode.SaveAsImage("msi.png");

// Reading MSI
var barcodeReaderOptions = new BarcodeReaderOptions
{
     // Assigning BarcodeEncoding.MSI to ExpectBarcodeType to ensure that IronBarcode expects MSI type barcodes specifically 
  ExpectBarcodeTypes = BarcodeEncoding.MSI,
};

// Read barcode with additional barcodeReaderOptions from above
var barcodeResults = BarcodeReader.Read("msi.png", barcodeReaderOptions);

// Using a for loop and print out the result 
foreach (BarcodeResult result in barcodeResults)
{
  Console.WriteLine(result.Text);
    // Output: 12345 
}
' Creating MSI Barcode with the value "12345"
Dim myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.MSI)

' Save barcode as image
myBarcode.SaveAsImage("msi.png")

' Reading MSI
Dim barcodeReaderOptions As New BarcodeReaderOptions With {.ExpectBarcodeTypes = BarcodeEncoding.MSI}

' Read barcode with additional barcodeReaderOptions from above
Dim barcodeResults = BarcodeReader.Read("msi.png", barcodeReaderOptions)

' Using a for loop and print out the result 
For Each result As BarcodeResult In barcodeResults
  Console.WriteLine(result.Text)
	' Output: 12345 
Next result
$vbLabelText   $csharpLabel

예제에서는 먼저 새로운 BarcodeReaderOptions 변수를 인스턴스화한 후 IronBarcode에 MSI 바코드를 예상하도록 지시하기 위해 BarcodeEncoding.MSI 열거형과 함께 ExpectedBarcodeTypes를 할당합니다. 그 후, 바코드의 값을 출력하는데, 이는 12345가 될 것이며, barcodeResultsBarcodeResults의 배열을 반환하고 각 결과에 대해 텍스트 값을 반복 조회합니다.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 2,317,217 | 버전: 2026.7 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package BarCode
샘플을 실행하세요 실이 바코드로 변하는 모습을 지켜보세요.