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

바코드 SDK C# 구축: 한 가지 라이브러리로 바코드 생성, 읽기 및 스캔하기

대부분의 바코드 SDK C# 프로젝트는 생성, 읽기 및 내보내기를 위한 별도의 라이브러리를 연결하고 바코드 유형 및 플랫폼 간의 호환성 문제와 씨름하는 동일한 골칫거리로 시작합니다. IronBarcode는 그러한 마찰을 완전히 제거합니다. 이 라이브러리는 .NET의 단일 라이브러리로서 개발자가 일반적으로 전용 바코드 스캐너 SDK에서 필요한 모든 바코드 작업을 처리합니다. 선형 바코드 및 QR 코드 생성에서부터 불완전한 이미지 및 PDF 파일에서 다중 바코드를 스캔하는 것까지 포함합니다.

이 기사에서는 IronBarcode가 바코드 SDK 프로젝트에 대한 일체형 솔루션으로 만드는 핵심 기능을 안내합니다: 바코드 이미지 생성, 파일에서 바코드 데이터 읽기, 그리고 생산 품질의 정확성을 위한 고급 스캔 설정 구성. 다음 코드 예제는 모두 .NET 콘솔 앱에서 실행됩니다.

!{--010011000100100101000010010100100100000101010010010110010101111101001110010101010001110100010101010100010111110100100101001110010100110101010001000001010011000100110001001100010111110100001001001100010011110100001101001011--}

.NET 프로젝트에서 바코드 SDK가 처리해야 할 것은 무엇인가요?

유능한 바코드 스캐너 SDK는 세 가지 필수 작업을 처리해야 합니다: 바코드 생성, 이미지 및 문서에서 바코드 데이터 읽기, 그리고 실제 스캔 품질 문제 처리. 최고의 바코드 리더 SDK 옵션은 또한 각 하나에 대해 별도의 라이브러리가 필요 없이 광범위한 심볼로지를 지원합니다.

IronBarcode는 선형 바코드 (Code 128, Code 39, UPC-A, UPC-E, EAN-8, EAN-13, GS1 DataBar) 및 2D 바코드 (QR 코드, Data Matrix, PDF417, Aztec, MaxiCode)를 지원합니다. 이 커버리지 덕분에 .NET 개발자는 하나의 바코드 DLL을 사용하여 소매 UPC-A 라벨에서부터 창고 QR 코드까지 모두 처리할 수 있습니다. 추가 종속성도 없고, 플랫폼별 네이티브 바이너리도 없습니다. 무료 체험판 라이선스는 30일 동안 모든 기능에 완전 액세스 권한을 제공합니다.

이 라이브러리는 Windows, macOS 및 Linux 운영 체제에서 실행되며, .NET MAUI 및 Android 앱 배포를 지원합니다. 또한 사업 문서 내에 바코드 생성을 포함해야 하는 시나리오에 대해 Crystal Reports와 같은 보고 도구와 통합됩니다. 프로젝트가 콘솔 앱이든, .NET MAUI 모바일 스캐너이든, 수천 개의 이미지를 처리하는 서버 측 바코드 리더이든, 동일한 바코드 스캐너 SDK API가 모든 것을 처리합니다.

How Can Developers Generate Barcode Images in C#?

BarcodeWriter.CreateBarcode 메소드는 문자열 값과 지정된 심볼로지로부터 단일 호출로 바코드 이미지를 생성합니다. 반환된 GeneratedBarcode 객체는 PNG, BMP, JPEG, PDF, HTML 파일로 저장하거나 SVG 같은 벡터 형식으로 내보낼 수 있습니다.

using IronBarCode;
// Generate a Code 128 barcode image from string data
var barcode = BarcodeWriter.CreateBarcode("PKG-2025-88421", BarcodeEncoding.Code128);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ResizeTo(500, 150);
barcode.SaveAsPng("shipping-label.png");
// Create a styled QR code with a logo
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/track/88421", 300);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkSlateGray);
qrCode.SaveAsPng("tracking-qr.png");
using IronBarCode;
// Generate a Code 128 barcode image from string data
var barcode = BarcodeWriter.CreateBarcode("PKG-2025-88421", BarcodeEncoding.Code128);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ResizeTo(500, 150);
barcode.SaveAsPng("shipping-label.png");
// Create a styled QR code with a logo
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/track/88421", 300);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkSlateGray);
qrCode.SaveAsPng("tracking-qr.png");
$vbLabelText   $csharpLabel

생성된 바코드 이미지

바코드 SDK 빌드 C#: 하나의 라이브러리로 바코드를 생성, 읽기 및 스캔: 이미지 1 - 출력 바코드 및 QR 코드 이미지

BarcodeWriter 클래스는 문자열, 바이트 배열, 스트림으로 데이터를 받아 서로 다른 데이터 소스에 유연성을 제공합니다. BarcodeEncoding 열거형은 상형문자를 제어하며, QR 코드를 위해서는 BarcodeEncoding.QRCode를, UPC-A 소매 라벨을 위해서는 BarcodeEncoding.UPCA를 전달하거나 지원되는 바코드 형식 중 하나를 사용할 수 있습니다. 스타일이 적용된 QR 코드를 위해 별도의 QRCodeWriter 클래스는 오류 수정 수준과 로고 삽입을 지원하여 브랜딩된 코드를 쉽게 만들 수 있습니다.

GeneratedBarcode 객체는 또한 여백, 색상, 주석 문자 등과 같은 바코드 속성을 사용자 정의할 수 있는 메서드를 제공합니다. 바코드 이미지는 래스터 이미지 형식(PNG, BMP, JPEG)와 벡터 형식으로 내보내거나 웹 앱 시나리오를 위해 HTML로 직접 렌더링할 수 있습니다. 추가적인 출력 옵션은 바코드 생성 예제를 참조하세요.

이미지 및 PDF 파일 전반에 걸쳐 바코드 리더는 어떻게 작동합니까?

BarcodeReader.Read 메서드는 이미지 파일 경로, 바이트 배열, 비트맵 또는 스트림을 받아 입력에서 발견된 모든 바코드를 포함하는 BarcodeResults 컬렉션을 반환합니다. 각 BarcodeResult는 바코드 값, 인코딩 유형, 페이지 번호, 이진 데이터, 바코드 이미지 영역을 노출합니다.

using IronBarCode;
// Use the barcode reader to decode all barcodes from an image file
var results = BarcodeReader.Read("multiple-barcodes.png");
foreach (var result in results)
{
    Console.WriteLine($"Type: {result.BarcodeType} | Value: {result.Value}");
}
// The barcode reader also scans multi-page PDF documents
var pdfResults = BarcodeReader.ReadPdf("invoice-batch.pdf");
foreach (var item in pdfResults)
{
    Console.WriteLine($"Page {item.PageNumber}: {item.Value}");
}
using IronBarCode;
// Use the barcode reader to decode all barcodes from an image file
var results = BarcodeReader.Read("multiple-barcodes.png");
foreach (var result in results)
{
    Console.WriteLine($"Type: {result.BarcodeType} | Value: {result.Value}");
}
// The barcode reader also scans multi-page PDF documents
var pdfResults = BarcodeReader.ReadPdf("invoice-batch.pdf");
foreach (var item in pdfResults)
{
    Console.WriteLine($"Page {item.PageNumber}: {item.Value}");
}
$vbLabelText   $csharpLabel

바코드 읽기 출력

바코드 SDK 빌드 C#: 하나의 라이브러리로 바코드를 생성, 읽기 및 스캔: 이미지 2 - 바코드 데이터 출력 읽기

바코드 리더는 기본적으로 모든 주요 상형문자에서 바코드 인식을 실행하며, 개발자가 어떤 유형을 스캔할지를 지정할 필요없이 선형 바코드, 2D 바코드, QR 코드를 자동으로 감지합니다. PDF를 스캔할 때, ReadPdf는 모든 페이지를 처리하고 페이지 번호가 첨부된 결과를 반환하여 문서 색인화 및 보관 작업 흐름에 적합합니다.

컬렉션의 각 BarcodeResult는 문자열 및 바이트 배열로 해독된 바코드 데이터에 접근할 수 있도록 제공합니다. 이는 이진 데이터를 인코딩하는 데이터 매트릭스 코드 또는 기타 상형문자를 처리할 때 특히 유용합니다. 바코드 리더 결과에는 바코드의 위치 좌표도 포함되어 애플리케이션에서 각 코드가 원본 이미지 파일에서 나타난 위치를 매핑할 수 있습니다. 전체 이미지 폴더에 대한 일괄 처리를 위해, 파일 경로의 IEnumerable<string>를 바코드 리더에 전달하여 멀티스레딩을 활성화하면 병렬 실행이 가능합니다.

바코드 스캐너 SDK는 어떻게 실제 이미지 품질을 처리할 수 있나요?

창고 카메라, 모바일 캡처, 스캔된 문서에서 가져온 실제 바코드 이미지는 픽셀 완벽이 거의 아닙니다. BarcodeReaderOptions 클래스는 스캔 속도, 예상 상형문자, 이미지 수정 필터 및 멀티 스레드 일괄 처리를 세세하게 제어하여 손상되거나 기울어진 입력에서도 고도로 정확한 바코드 인식을 구현할 수 있습니다.

using IronBarCode;
// Configure the barcode reader for challenging, real-world image quality
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Detailed,
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional | BarcodeEncoding.QRCode,
    Multithreaded = true,
    MaxParallelThreads = 4,
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),
        new ContrastFilter()
    }
};
// Scan multiple barcodes from a noisy image with high accuracy
var results = BarcodeReader.Read("camera-capture.jpg", options);
foreach (var barcode in results)
{
    Console.WriteLine($"Detected: {barcode.BarcodeType} &mdash; {barcode.Value}");
}
using IronBarCode;
// Configure the barcode reader for challenging, real-world image quality
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Detailed,
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional | BarcodeEncoding.QRCode,
    Multithreaded = true,
    MaxParallelThreads = 4,
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),
        new ContrastFilter()
    }
};
// Scan multiple barcodes from a noisy image with high accuracy
var results = BarcodeReader.Read("camera-capture.jpg", options);
foreach (var barcode in results)
{
    Console.WriteLine($"Detected: {barcode.BarcodeType} &mdash; {barcode.Value}");
}
$vbLabelText   $csharpLabel

노이즈 있는 바코드 이미지 스캔 출력

바코드 SDK 빌드 C#: 하나의 라이브러리로 바코드를 생성, 읽기 및 스캔: 이미지 3 - 잡음이 많은 바코드 이미지 스캔 예제 출력

모든 유형을 스캔하는 것 대신에 특정 하위 세트의 상형문자를 설정하는 ExpectBarcodeTypes는 속도와 정확성을 획기적으로 향상시킵니다. ReadingSpeed 열거형은 네 가지 계층도를 제공합니다 — 빠른, 균형 잡힌, 자세한, 극도로 자세한, 개발자가 처리 시간과 바코드 인식 철저함 간의 거래를 조정할 수 있게 합니다. ImageFilterCollection은 스캔 엔진이 바코드 이미지를 처리하기 전에 샤프닝, 대비 조정 및 적응 임계치를 도입하는 전처리 필터를 적용합니다.

ExpectMultipleBarcodes 플래그는 첫 번째 일치를 찾은 후 스캔을 계속하도록 엔진에 지시하며, 이는 단일 라벨 또는 문서 페이지에서 여러 바코드를 스캔해야 할 때 필수적입니다. Multithreaded = true와 결합하여, 이 라이브러리는 고처리율 스캔 시나리오를 위해 CPU 코어에 일괄 처리를 분배합니다. 이러한 설정에 대한 더 깊은 이해를 위해, 바코드 읽기 튜토리얼은 샘플 코드와 함께 구성 옵션을 전부 다룹니다.

지원되는 바코드 유형과 플랫폼은 무엇입니까?

IronBarcode는 소매, 물류, 건강 관리, Enterprise 애플리케이션에서 가장 널리 사용되는 바코드 상형문자를 포괄합니다. 다음 표는 지원되는 바코드 유형과 대상 플랫폼을 요약한 것입니다.

카테고리 지원되는 형식
선형 바코드 코드 128, 코드 39, 코드 93, UPC-A, UPC-E, EAN-8, EAN-13, GS1 DataBar, ITF, MSI, Codabar
2D 바코드 QR 코드, 데이터 매트릭스, PDF417, Aztec, MaxiCode
이미지 형식 PNG, JPEG, BMP, GIF, TIFF, SVG
문서 형식 PDF (다중 페이지), HTML
.NET 플랫폼 .NET 8/7/6, .NET Core, .NET Framework 4.6.2+, .NET Standard 2.0+
앱 유형 콘솔, Windows Forms, WPF, ASP.NET, .NET MAUI, Blazor
운영 체제 Windows, macOS, Linux, Android (.NET MAUI 통해)

이 라이브러리는 NuGet 패키지 (BarCode)로 설치하거나 직접 다운로드를 통해 독립형 바코드 DLL으로 설치합니다. 기본 SDK 의존성은 필요하지 않으며, 전체 바코드 스캐너 SDK는 관리된 .NET 코드로 제공됩니다. Visual Studio에서 NuGet 패키지 관리자를 통해 설치하거나 CLI에서 dotnet add package BarCode 명령을 실행하세요. 배포 시나리오에서 DLL 수준 제어가 필요한 경우, IronBarcode DLL 다운로드는 수동 통합을 위한 ZIP 패키지를 제공합니다.

IronBarcode는 Crystal Reports 통합과 임베디드 바코드 생성이 필요한 다른 보고서 도구도 지원합니다. .NET MAUI 및 Android 앱 개발을 위해, 바코드 스캐너 SDK는 플랫폼별 카메라 SDK를 필요로 하지 않는 크로스 플랫폼 바코드 읽기를 제공합니다 — 장치의 카메라로 캡처한 이미지 파일을 바코드 리더기에 전달하면 됩니다. .NET MAUI 바코드 스캐너 튜토리얼은 이 .NET MAUI 워크플로우를 세부적으로 다루며, Android 권한 및 모바일 스캔을 위한 샘플 코드도 포함합니다.

다음 단계

IronBarcode는 .NET 개발자에게 생성, 읽기, 배치 스캔 및 내보내기가 모두 포함된 SDK 수준 프로젝트를 위한 완벽한 바코드 라이브러리를 제공합니다 - 여러 패키지를 관리하는 복잡함 없이. 최신 버전은 ML 기반의 이미지 전처리 및 배치 PDF 처리를 위한 ReadPdfs 메서드를 추가하여 단일 라이브러리의 가능성을 지속적으로 확장합니다.

무료 체험판을 시작하세요 물결무늬 표시 나 제한 없이 프로젝트에서 모든 기능을 테스트할 수 있습니다. 생산 준비가 되면 $799부터 시작하는 IronBarcode 라이선스 옵션을 탐색하세요. Iron Software의 엔지니어링 팀으로부터 무료 지원이 포함됩니다.

지금 바로 IronBarcode으로 시작하세요.
green arrow pointer

자주 묻는 질문

IronBarcode는 C# 프로젝트에서 어떤 용도로 사용되나요?

IronBarcode는 C# 프로젝트 내에서 다양한 바코드 유형을 생성, 읽기 및 스캔할 수 있게 함으로써 여러 가지 라이브러리를 사용하지 않고도 바코드 작업을 단순화하는 .NET 라이브러리입니다.

IronBarcode는 여러 바코드 유형을 처리할 수 있나요?

예, IronBarcode는 선형 바코드 및 QR 코드 등 다양한 바코드 유형을 지원하여 다양한 애플리케이션과의 호환성을 보장합니다.

IronBarcode는 C#에서 바코드 스캔을 어떻게 개선합니까?

IronBarcode는 불완전한 이미지와 PDF 파일에서도 여러 바코드를 스캔할 수 있는 강력한 기능을 제공하여 정확성과 효율성을 향상시킵니다.

IronBarcode를 사용하는 샘플 코드가 있습니까?

예, IronBarcode를 사용하여 바코드 생성 및 스캔 기능을 C# 프로젝트에 빠르게 통합할 수 있도록 샘플 코드가 제공됩니다.

바코드 작업을 위한 개별 라이브러리가 아닌 IronBarcode를 선택해야 하는 이유는 무엇입니까?

IronBarcode는 바코드 생성, 읽기 및 스캔 작업을 단일 라이브러리로 통합하여 여러 가지 라이브러리를 사용하는 것과 관련된 복잡성과 호환성 문제를 줄여줍니다.

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

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

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

Iron Support Team

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