푸터 콘텐츠로 바로가기
IRONBARCODE 사용

C# 바코드 스캐너 단계별 튜토리얼

이 튜토리얼은 타사 라이브러리의 도움을 받아 바코드 스캐너를 만드는 방법을 설명합니다. 이 목적을 위한 여러 라이브러리가 제공되지만, 일부는 유료이고, 일부는 기능이 적으며, 일부는 구현하기 어렵습니다. 무료이고 효율적이며 구현하기 쉬운 매우 포괄적이고 유용한 라이브러리를 찾는 것은 어려운 작업입니다.

이 이유로 우리는 .NET 바코드 스캐너 개발에 가장 적합한 IronBarcode를 사용할 것입니다. 또한 개발에 무료이고 매우 효율적이며 구현하기 쉽다는 추가 이점이 있습니다. IronBarcode는 개발자가 .NET 응용 프로그램 및 웹사이트 내에서 바코드와 QR 코드를 읽고 쓸 수 있게 합니다. 이 라이브러리를 사용하면 바코드를 읽거나 쓰는 데 단 한 줄의 코드만 필요합니다.

.NET 바코드 라이브러리는 대부분의 바코드 및 QR 코드 표준을 읽고 씁니다. 지원되는 바코드 유형에는 code 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14 / 확장, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS, QR 등이 포함됩니다. 바코드 결과 데이터에는 유형, 텍스트, 이진 데이터, 페이지 및 이미지 파일이 포함됩니다.

바코드 작성 API는 형식, 길이, 숫자 및 체크섬을 검사하고 확인하여 인코딩 오류를 자동으로 방지합니다. 바코드 작성기는 스타일링, 크기 조정, 여백, 테두리, 다시 색칠 및 텍스트 주석 추가를 허용합니다. 바코드 작성기는 BMP, PNG, GIF, TIFF 및 JPG를 포함한 이미지 파일로 작성할 수 있습니다. 또한 PDF 또는 HTML 파일로 쓸 수도 있습니다.

바코드 스캐너를 만들어 그것을 더 잘 이해해 봅시다.

Visual Studio 프로젝트 생성

우선, 데모 앱을 개발하기 위한 Visual Studio 프로젝트를 만드십시오. 기존 프로젝트를 열 수도 있습니다.

핵심 기능에 집중하기 위해 다음 절차를 따라 새로운 콘솔 응용 프로그램 프로젝트를 생성하십시오. 동일한 코드는 웹 API, MVC, 웹 폼 또는 Windows Forms 응용 프로그램에서 구현할 수 있습니다.

  1. Visual Studio를 엽니다.
  2. 새 프로젝트 만들기를 클릭하십시오.
  3. 템플릿을 선택하고 다음 버튼을 클릭하십시오.
  4. 프로젝트 이름을 지정하고 다음 버튼을 클릭하십시오.
  5. 대상 프레임워크를 선택하고 다음 버튼을 클릭하십시오.
  6. 생성 버튼을 클릭하고 다음 버튼을 클릭하십시오.

아래와 같이 새로운 프로젝트가 생성될 것입니다:

C# 바코드 스캐너 단계별 튜토리얼, 그림 1: 콘솔 애플리케이션 콘솔 응용 프로그램

다음 단계는 IronBarcode NuGet 패키지를 설치하여 그 기능을 사용하는 것입니다.

IronBarcode NuGet Install-Package

패키지 관리자 콘솔, NuGet 패키지 관리자 솔루션을 사용하거나 NuGet BarCode 패키지 페이지에서 직접 설치할 수 있습니다.

아래 단계를 따르십시오:

  1. 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔을 클릭하십시오.

C# 바코드 스캐너 단계별 튜토리얼, 그림 2: 패키지 관리자 콘솔 UI 패키지 관리자 콘솔 UI

  1. 아래 명령문을 입력하십시오.
Install-Package BarCode

패키지가 설치될 것입니다.

이제 바코드 이미지를 스캔하는 코드를 작성해 봅시다.

이미지 파일에서 바코드 스캔하기

다음 네임스페이스를 추가하십시오.

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

다음으로 메인 함수 내에서 이미지에서 바코드 데이터를 읽는 아래 코드를 작성하십시오.

// Read the barcode from an image file
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");

// Print the barcode data to the console
Console.WriteLine(myBarcode);
// Read the barcode from an image file
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");

// Print the barcode data to the console
Console.WriteLine(myBarcode);
$vbLabelText   $csharpLabel

BarcodeReader 클래스는 파일 경로를 인수로 받는 Read 함수를 제공합니다. 이 함수는 이미지를 읽고 바코드 데이터를 반환합니다. 이 메서드는 BMP, PNG, GIF, TIFF, 또는 JPG에서 바코드를 읽으며 성능을 용도에 맞춰 정확성과 균형 잡도록 하는 개발자 제어의 세부 설정을 제공합니다.

경로에는 응용 프로그램이 스캔할 바코드 이미지가 포함되어 있습니다.

바코드 이미지

C# 바코드 스캐너 단계별 튜토리얼, 그림 3: 이 콘솔 애플리케이션에 사용된 바코드 이미지 이 콘솔 응용 프로그램에서 사용된 바코드 이미지

이 바코드 이미지를 읽어 프로그램이 정확한 결과를 생성하는지 봅시다.

산출

C# 바코드 스캐너 단계별 튜토리얼, 그림 4: 애플리케이션 실행 시 콘솔 출력 응용 프로그램 실행 시 콘솔 출력

프로그램이 정확한 출력을 생성한 것을 확인할 수 있습니다.

PDF에서 바코드 스캔하기

PDF 송장에서 바코드를 스캔해야 하는 다양한 상황이 있습니다. 이 예제에서는 다음의 송장에서 바코드를 스캔할 것입니다.

PDF 문서

C# 바코드 스캐너 단계별 튜토리얼, 그림 5: PDF 형식의 송장 PDF 형식의 송장

PDF 문서에서 바코드를 스캔하기 위한 다음 코드 스니펫을 고려하십시오:

// Read barcodes from a PDF file
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");

// Iterate through each barcode found and print its value
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
// Read barcodes from a PDF file
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");

// Iterate through each barcode found and print its value
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
$vbLabelText   $csharpLabel

The BarcodeReader 클래스는 파일 경로를 인수로 받는 ReadPdf 함수를 제공합니다. 이 함수는 PDF 파일에서 바코드 이미지를 찾아 바코드를 전체 스캔한 후 결과 데이터를 배열 형태로 반환합니다. 이 함수는 문서에 포함된 모든 이미지에서 바코드를 읽습니다.

콘솔에 바코드 데이터를 출력하기 위해 foreach 루프를 사용합니다.

산출

송장 번호가 콘솔에 출력됩니다.

C# 바코드 스캐너 단계별 튜토리얼, 그림 6: 콘솔 출력에는 송장 번호가 표시됩니다 콘솔 출력에 표시된 송장 번호

여러 파일에서 바코드 스캔하기

이 예제는 이미지 파일에서 여러 바코드를 동시에 스캔하는 방법을 보여줍니다.

바코드 이미지

C# 바코드 스캐너 단계별 튜토리얼, 그림 7: 아래 예제에 사용된 바코드 이미지 아래 샘플에 사용된 바코드 이미지

다중 스레딩을 사용하여 여러 바코드를 읽고 결과를 스캔하는 다음 코드 스니펫을 고려하십시오.

// Create a list of file paths containing barcode images
List<string> barcodeList = new List<string>
{
    @"D:\Barcode Images\barcode1.jpg",
    @"D:\Barcode Images\barcode2.jpg",
    @"D:\Barcode Images\barcode3.jpg"
};

// Read barcodes asynchronously from multiple files
var batchResults = BarcodeReader.ReadAsync(barcodeList);

// Work with the results
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
    Console.WriteLine(barcodeValue);
}
// Create a list of file paths containing barcode images
List<string> barcodeList = new List<string>
{
    @"D:\Barcode Images\barcode1.jpg",
    @"D:\Barcode Images\barcode2.jpg",
    @"D:\Barcode Images\barcode3.jpg"
};

// Read barcodes asynchronously from multiple files
var batchResults = BarcodeReader.ReadAsync(barcodeList);

// Work with the results
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
    Console.WriteLine(barcodeValue);
}
$vbLabelText   $csharpLabel

첫째, 모든 바코드 이미지의 파일 경로를 보관하기 위해 리스트가 생성됩니다. 다음으로, List<string> 유형을 인수로 받아 데이터를 반환하는 ReadAsync 함수를 호출합니다. 이 메소드는 여러 이미지의 바코드를 병행하여 읽습니다. 여러 스레드가 시작되어 배치 바코드 읽기 작업의 성능을 개선하기 위해 자동으로 관리됩니다.

QR 코드 스캔하기

QR 코드의 사용이 급격히 증가하고 있습니다. 따라서 이 섹션에서는 C#을 사용하여 QR 코드를 스캔하는 방법을 보여줍니다.

QR 코드

C# 바코드 스캐너 단계별 튜토리얼, 그림 8: 이 데모에 사용된 QR 코드 이 데모에 사용된 QR 코드

다음 코드 샘플을 고려하십시오:

// Read the QR code from an image file
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");

// Iterate through each result and print its text
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
// Read the QR code from an image file
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");

// Iterate through each result and print its text
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
$vbLabelText   $csharpLabel

위에서 논의된 것과 동일한 Read 함수를 사용하여 QR 코드를 읽습니다. 이는 IronBarcode 라이브러리가 제공하는 단순성으로, 동일한 기능과 코드를 다른 이미지 소스에 사용할 수 있게 합니다.

산출

C# 바코드 스캐너 단계별 튜토리얼, 그림 9: QR 코드 리더기의 콘솔 출력 QR 코드 리더의 콘솔 출력

요약

이 튜토리얼은 단일 이미지에서 바코드를 스캔하는 매우 쉬운 방법, PDF 문서에서 바코드를 스캔하는 방법, 다중 이미지 및 다중 문서에서 바코드를 병행하여 스캔하는 방법을 보여주었습니다. 다른 기능을 위해 동일한 함수를 사용하였으며, 성능과 사용성을 동시에 제공합니다. IronBarcode는 다양한 설정으로 바코드 및 QR 코드를 생성하는 기능을 제공합니다. 동일한 기사에서 논의할 수 없는 많은 기능들이 있습니다. IronBarcode에 대한 더 많은 탐색을 위해 문서 페이지를 클릭하십시오.

IronBarcode는 Iron Software Suite의 일부입니다. 이 Suite는 PDF 파일을 읽고 쓰기 위한 IronPDF, Excel 파일을 조작하기 위한 IronXL, 이미지에서 텍스트를 읽기 위한 IronOCR, 다양한 웹사이트에서 데이터를 추출하기 위한 IronWebScraper와 같이 다른 매우 유용한 라이브러리를 포함하고 있습니다. 두 개의 개별 라이브러리 가격으로 전체 Iron Suite를 구매할 수 있습니다.

자주 묻는 질문

C#으로 바코드 스캐너를 어떻게 만들 수 있나요?

C#으로 바코드 스캐너를 만들려면 IronBarcode 사용할 수 있습니다. 먼저 Visual Studio 프로젝트를 설정하고 IronBarcode NuGet 패키지를 설치한 다음, BarcodeReader 클래스를 사용하여 이미지 또는 PDF 파일에서 바코드를 읽습니다.

.NET 바코드 라이브러리를 사용하여 읽을 수 있는 바코드 유형은 무엇입니까?

IronBarcode Code 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14/확장형, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS 및 QR 코드를 포함한 다양한 바코드 유형을 읽을 수 있습니다.

C#에서 PDF 파일의 바코드를 읽을 수 있나요?

네, IronBarcode ReadPdf 메서드를 사용하여 PDF 파일에서 바코드를 읽을 수 있습니다. 이 메서드는 PDF 문서 전체를 스캔하여 바코드 이미지를 찾고 해당 데이터를 반환합니다.

C#에서 서로 다른 이미지 파일에 있는 여러 바코드를 스캔하는 것이 가능할까요?

네, IronBarcode 의 ReadAsync 함수를 사용하면 비동기 처리를 활용하여 성능을 향상시키면서 서로 다른 이미지 파일에서 여러 바코드를 동시에 스캔할 수 있습니다.

바코드 기능 for .NET 라이브러리를 어떻게 설치하나요?

IronBarcode 설치하려면 Visual Studio의 패키지 관리자 콘솔에서 Install-Package Barcode 명령을 사용하세요. 이 명령은 NuGet 패키지 소스에서 라이브러리를 추가합니다.

QR 코드는 바코드와 같은 방식으로 스캔할 수 있나요?

네, IronBarcode 에서 동일한 Read 기능을 사용하여 QR 코드도 스캔할 수 있으므로 다양한 이미지 소스에서 바코드와 QR 코드를 일관되게 처리할 수 있습니다.

IronBarcode 사용하여 바코드를 스캔할 때의 장점은 무엇입니까?

IronBarcode 는 사용자 친화적이고 효율적이며 적응성이 뛰어납니다. 다양한 바코드 유형을 지원하고 바코드 및 QR 코드 읽기/쓰기를 위한 직관적인 API를 제공하므로 .NET 애플리케이션에 이상적입니다.

Iron Software Suite에는 어떤 라이브러리가 포함되어 있습니까?

Iron Software 제품군에는 PDF 조작을 위한 IronPDF , Excel 파일 처리를 위한 IronXL , 광학 문자 인식을 위한 IronOCR , 웹 데이터 추출을 위한 IronWebScraper와 같은 라이브러리가 포함되어 있습니다.

커티스 차우
기술 문서 작성자

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

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me