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

IronBarcode 사용한 바코드 .NET 컴포넌트 튜토리얼

바코드 .NET 컴포넌트는 몇 줄의 코드만으로 C# 애플리케이션에서 바코드를 생성하고 읽을 수 있도록 하는 관리 코드 라이브러리입니다. IronBarcode는 주요 심볼로지(Code 128, QR, Data Matrix, EAN, UPC 등)를 모두 지원하며 추가 런타임 종속성 없이 Windows, Linux 및 macOS에서 실행됩니다.

NuGet을 통해 설치하고 몇 분 만에 바코드를 생성하세요:

Install-Package BarCode
Install-Package BarCode
SHELL

바코드 .NET 컴포넌트란 무엇입니까?

바코드 .NET 컴포넌트는 바코드 생성 및 읽기 기능을 깨끗한 API를 통해 제공하는 NuGet 패키지로 포장된 소프트웨어 라이브러리입니다. 복잡한 형식 규칙과 수동 체크섬 계산이 필요한 바코드 글꼴과 달리, 전용 컴포넌트는 모든 인코딩 논리를 내부적으로 처리합니다.

IronBarcode 라이브러리는 두 가지 주요 진입점을 노출합니다:

  • BarcodeWriter -- 텍스트 또는 숫자 데이터를 바코드 이미지, PDF 및 HTML로 생성합니다
  • BarcodeReader -- 이미지, PDF 및 다중 프레임 TIFF에서 바코드 값을 추출합니다

이 양방향 설계는 동일한 라이브러리 내에서 라벨에 바코드를 인쇄하고 문서에서 다시 스캔할 수 있도록 하며, 이는 재고 관리, 문서 추적, Crystal Reports 통합 및 데이터 자동화 워크플로우에 필수적입니다.

지원되는 심볼로지는 다음과 같습니다:

  • 1D 선형: Code 128, Code 39, Code 93, ITF-14, EAN-13, EAN-8, UPC-A, UPC-E
  • 2D 매트릭스: QR 코드, Data Matrix, PDF417, Aztec
  • GS1 변형: GS1-128, GS1 DataBar

제조 시스템은 종종 제품 추적을 위해 Code 128을 사용합니다. 효율적으로 알파벳-숫자 데이터를 인코딩하기 때문입니다. 의료 응용 프로그램은 약물 라벨링을 위한 Data Matrix에 주로 의존합니다. 매우 작은 크기에서도 잘 인쇄되기 때문입니다. 소매점 판매 지점 시스템은 EAN-13과 UPC-A 바코드를 사용하여 계산합니다. 귀하의 사용 사례에 적합한 심볼로지를 선택하는 것은 바코드 기능 통합의 첫 번째 결정 중 하나입니다.

.NET 프로젝트에서 IronBarcode를 어떻게 설치합니까?

Visual Studio의 NuGet 패키지 관리자 또는 .NET CLI를 사용한 IronBarcode 설치는 2분 이내에 완료됩니다.

패키지 관리자 콘솔 (Visual Studio):

Install-Package BarCode
Install-Package BarCode
SHELL

.NET CLI:

dotnet add package BarCode
dotnet add package BarCode
SHELL

바코드 .NET 컴포넌트를 C#에 통합하는 방법: 그림 3 - 설치

Install-Package 후, 바코드 기능을 사용하는 파일 상단에 네임스페이스를 추가하십시오:

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

IronBarcode는 .NET Framework 4.6.2 이후 버전, .NET Core 3.1 이후 버전 및 .NET 5에서 .NET 10까지를 대상으로 합니다. Windows, Linux 및 macOS에서 실행되므로 클라우드에 호스팅된 컨테이너, 온프레미스 서버 및 개발자 워크스테이션 전체에서 동일한 코드가 플랫폼 독립적인 구성 없이 작동합니다.

ASP.NET Core 애플리케이션의 경우 미들웨어 등록은 필요하지 않습니다. 컨트롤러, 백그라운드 서비스 또는 Razor 페이지에서 API를 직접 호출합니다. Windows Forms 및 WPF 애플리케이션은 동일하게 접근 가능합니다 -- 네임스페이스를 추가하고 메소드 호출을 시작하세요.

바코드 .NET 컴포넌트를 C#에 통합하는 방법: 그림 4 - 플랫폼 간 지원으로 바코드 생성

오프라인 NuGet 피드 구성 및 프록시 설정을 포함한 세부 설치 단계는 IronBarcode 시작 가이드에서 확인 가능합니다.

C#에서 바코드 이미지를 어떻게 생성합니까?

IronBarcode로 바코드를 생성하기 위해서는 인코딩을 선택하고 값을 설정한 후 출력을 저장하는 세 가지 단계가 필요합니다. 다음 예제는 Code 128 바코드를 생성하고 이를 PNG 이미지 및 PDF 문서로 저장합니다:

using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");
using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");
$vbLabelText   $csharpLabel

ResizeTo() 메서드는 픽셀 차원을 정확하게 설정하며, 이는 특정 DPI로 레이블을 인쇄할 때 중요합니다. AddBarcodeValueTextBelowBarcode() 호출은 바 아래에 사람이 읽을 수 있는 텍스트를 추가하여 창고 및 소매 환경에서 수동 검증을 쉽게 만듭니다.

바코드 출력 형식

바코드 .NET 컴포넌트를 C#에 통합하는 방법: 그림 5 - PNG 출력

바코드 .NET 컴포넌트를 C#에 통합하는 방법: 그림 6 - PDF 출력

IronBarcode는 PNG, JPEG, GIF, TIFF, BMP, PDF, HTML 및 base64 문자열로 내보냅니다. base64 형식은 파일을 디스크에 쓰지 않고 프론트엔드가 동적으로 렌더링하는 API 응답에 바코드를 포함시키는 데 특히 유용합니다.

C#에서 QR 코드를 어떻게 생성합니까?

QR 코드를 위한 IronBarcode는 오류 수정 수준과 모듈 크기 제어에 대한 내장 지원을 갖춘 QRCodeWriter 클래스를 제공합니다:

using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");
using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");
$vbLabelText   $csharpLabel

QR 코드는 URL, 일반 텍스트, vCard 연락처 데이터, Wi-Fi 자격 증명 및 임의의 바이트 시퀀스를 인코딩할 수 있습니다. 바코드 생성 예제 페이지는 Data Matrix 및 PDF417을 포함한 추가 인코딩 시나리오를 다룹니다.

이미지에서 바코드를 어떻게 읽습니까?

이미지에서 바코드를 읽는 것은 그것을 쓰는 것만큼 직접적입니다. BarcodeReader.Read() 메서드는 파일 경로, Stream, Bitmap 또는 IronSoftware.Drawing.AnyBitmap을(를) 받아들여 BarcodeResults 컬렉션을 반환합니다:

using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}
using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}
$vbLabelText   $csharpLabel

리더는 자동으로 이미지를 전처리하여 일반적인 스캔 문제(회전, 기울기, 잡음, 낮은 대비 및 원근 왜곡)를 수정합니다. 이는 기본 스캐너 출력을 직접 전처리 없이 전달할 수 있음을 의미합니다.

실제 문서에서 스캔하기

바코드 .NET 컴포넌트를 C#에 통합하는 방법: 그림 7 - 스캔 준비가 된 Code128 바코드

출력 읽기

바코드 .NET 컴포넌트를 C#에 통합하는 방법: 그림 8 - 바코드 출력

바코드 읽기 옵션을 어떻게 구성하나요?

대량 또는 까다로운 스캔 시나리오에 대해 BarcodeReaderOptions는 읽기 알고리즘에 대한 세밀한 제어를 제공합니다:

using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);
using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);
$vbLabelText   $csharpLabel

기대하는 형식과 일치하도록 ExpectBarcodeTypes를 설정하면 일치할 수 없는 패턴을 판독기가 건너뛰므로 처리량이 개선됩니다. Speed 속성은 Faster(깨끗하고 고품질의 이미지에 가장 적합)부터 ExtremeDetail(손상되거나 낮은 해상도의 소스에 가장 적합)까지 범위가 있습니다. 바코드 읽기 문서는 멀티스레딩 및 관심 영역 스캔을 포함한 추가 옵션을 다룹니다.

바코드 모양을 어떻게 사용자 정의하나요?

IronBarcode를 사용하면 저장하기 전에 생성된 바코드의 모든 시각적 측면을 제어할 수 있습니다. 색상, 글꼴, 여백 및 주석 텍스트를 프로그래밍 방식으로 설정할 수 있습니다. 이는 브랜드 라벨 또는 레이블 레이아웃이 엄격한 사양을 따르는 규제 산업에서 레이블 생성을 위한 바코드를 생성할 때 유용합니다.

API는 플루언트 스타일 패턴을 따릅니다: 바코드를 생성하고 스타일 메서드를 호출한 다음 저장합니다. 모든 스타일 속성은 출력에 즉시 영향을 미치며 별도의 렌더 단계가 필요하지 않습니다. 사용 가능한 속성의 전체 목록은 스타일링 및 주석 예제를 참조하세요.

PDF 문서에서 바코드를 어떻게 처리합니까?

IronBarcode는 PDF 파일에 내장된 바코드를 이미지 파일을 읽는 것과 같은 방식으로 읽습니다. PDF 경로를 BarcodeReader.Read()에 전달하면 라이브러리가 모든 페이지에서 바코드를 자동으로 추출합니다. 이는 송장 PDF에 GS1-128 바코드가 포함된 계정 결제 워크플로우와 배송 목록이 PDF 첨부 파일로 배포되는 물류 시스템에 유용합니다.

문서 생성을 위해 IronBarcode와 IronPDF를 함께 사용하여 PDF 페이지에 직접 바코드를 쓸 수도 있습니다. 공통 패턴은 사람 눈으로 읽을 수 있는 주소 블록과 추적 번호용 스캔 가능한 Code 128 바코드가 모두 포함된 배송 라벨 PDF를 생성하는 것입니다.

PDF 바코드 워크플로우에 관한 추가 읽기를 위해, IronBarcode 튜토리얼 섹션은 송장 처리, 일괄 레이블 인쇄 및 문서 아카이빙을 다루는 엔드투엔드 예제를 제공합니다.

ASP.NET Core API에 바코드를 통합하는 방법은 무엇입니까?

ASP.NET Core 컨트롤러 엔드포인트에서 바코드 이미지를 반환하는 것은 동적 레이블을 표시하는 웹 포털에 대한 일반적인 요구 사항입니다. IronBarcode의 base64 출력은 이것을 간단하게 만듭니다.

using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}
using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}
$vbLabelText   $csharpLabel

이 방법은 모든 프론트엔드 프레임워크에서 작동합니다. 브라우저는 표준 이미지 응답을 받아 <img> 태그에 표시합니다. 트래픽이 많은 엔드포인트의 경우, 제품 ID가 항상 동일한 바코드 이미지를 생성하기 때문에 바코드를 한 번 생성하고 바이트 배열을 캐시하세요.

IronBarcode API 참조는 매우 높은 해상도의 바코드에 대해 큰 바이트 배열을 할당하는 것을 피할 수 있는 스트리밍 출력 등을 포함한 모든 사용 가능한 메서드를 문서화합니다.

IronBarcode는 바코드 검증 및 오류 수정을 어떻게 처리합니까?

바코드 표준은 엄격한 인코딩 규칙과 체크섬 요구 사항을 정의합니다. Code 128은 가중치 modulo-103 체크섬을 사용합니다. EAN-13은 modulo-10을 사용합니다. QR 코드는 최대 30%의 바코드가 가려지거나 손상된 경우에도 부분적인 데이터 복구를 허용하는 Reed-Solomon 오류 수정을 포함합니다.

IronBarcode는 이러한 규칙을 자동으로 강제합니다. BarcodeWriter.CreateBarcode()를 호출하면 라이브러리가 데이터가 심볼로지 문자 집합 및 길이 제약에 맞는지 검증한 후, 코드의 추가 단계 없이 올바른 체크섬을 계산하여 추가합니다. 이는 스캐너가 거부할 수 있는 잘못된 바코드 생성을 방지합니다.

읽기 측면에서, 라이브러리는 디코딩 중에 오류 수정을 적용하므로 부분적으로 찢어지거나, 얼룩이 지거나, 저해상도로 인쇄된 바코드라도 종종 올바른 값을 복구할 수 있습니다. 이 동작은 소매 및 물류에서 GS1 바코드 표준 준수에 특히 중요합니다.

바코드 오류 수정이 사양 수준에서 어떻게 작동하는지 자세히 알아보려면, ISO/IEC 바코드 표준 문서가 권위 있는 기술 참조를 제공합니다.

일반적인 바코드 통합 시나리오는 무엇입니까?

일반적인 바코드 통합 시나리오 및 권장 IronBarcode 기능
시나리오 기호체계 주요 IronBarcode 기능
소매 판매 시점 EAN-13, UPC-A `BarcodeEncoding.EAN13`, PDF 내보내기
창고 재고 코드 128, ITF-14 `ExpectMultipleBarcodes = true`
헬스케어 라벨링 데이터 매트릭스, GS1-128 작은 사이즈 인쇄, 고 DPI 내보내기
문서 추적 PDF417, 코드 39 PDF 읽기, 다중 페이지 지원
모바일 제품 조회 QR 코드 `QRCodeWriter.CreateQrCode()`
배송 라벨 코드 128, GS1-128 라벨 크기 PDF 출력, 텍스트 주석

각 시나리오는 다양한 구성 선택으로 이점을 얻습니다. IronBarcode 예제 갤러리는 위의 모든 시나리오에 대한 실행 가능한 코드를 제공합니다.

다음 단계는 무엇입니까?

바코드 .NET 구성 요소를 통합하면 몇 주 동안 걸릴 커스텀 개발 노력을 오후의 구성으로 해결할 수 있습니다. IronBarcode는 인코딩 규칙, 체크섬, 이미지 전처리 및 오류 수정 등을 처리하므로 팀은 바코드 워크플로우를 둘러싼 비즈니스 로직에 집중할 수 있으며 바코드 기계적 부분에 집중하지 않아도 됩니다.

다음 단계를 진행하려면:

  1. Install-Package: 패키지 관리자 콘솔에서 dotnet add package BarCode 또는 Install-Package BarCode
  2. 퀵스타트를 시도하십시오: 바코드 퀵스타트 예제는 20줄 미만의 코드로 생성 및 읽기를 시연합니다.
  3. 심볼로직을 탐색하십시오: 지원되는 바코드 유형 참조는 모든 인코딩 형식을 사용법 지침과 함께 나열합니다.
  4. 가격 검토: IronBarcode 라이선스 옵션은 단일 개발자, 팀, OEM 재배포 사용 사례를 포함합니다.
  5. 무료 체험판 시작: 전체 기능 세트를 자체 애플리케이션에서 평가할 수 있도록 30일 무료 체험 라이선스를 다운로드합니다.

Enterprise 라이선싱, 대량 배치 또는 기술적 통합 문제에 대한 질문이 있으면 IronBarcode 지원 팀이 도움을 드립니다.

바코드 표준 및 사양에 대한 외부 참조:

자주 묻는 질문

바코드 .NET 컴포넌트란 무엇인가요?

바코드 .NET 컴포넌트는 개발자가 바코드 생성 및 스캔 기능을 .NET 애플리케이션에 통합할 수 있도록 지원하는 소프트웨어 라이브러리입니다. 이 컴포넌트는 인코딩 규칙, 체크섬, 이미지 전처리 등을 자동으로 처리합니다.

IronBarcode .NET 애플리케이션에 어떻게 도움이 될 수 있을까요?

IronBarcode 간단한 API를 통해 바코드를 생성하고 읽는 .NET 구성 요소를 제공하므로 인코딩 알고리즘을 수동으로 구현하지 않고도 C# 애플리케이션에 바코드 기능을 쉽게 추가할 수 있습니다.

IronBarcode 사용하여 생성할 수 있는 바코드 유형은 무엇입니까?

IronBarcode Code 128, Code 39, Code 93, ITF-14, EAN-13, EAN-8, UPC-A, UPC-E, QR 코드, Data Matrix, PDF417, Aztec 및 GS1 변형을 지원합니다.

바코드 컴포넌트를 사용하는 대신 자체 솔루션을 만들어야 하는 이유는 무엇인가요?

전문 바코드 구성 요소는 체크섬 계산, 오류 수정, 이미지 전처리 및 다양한 형식 지원을 자동으로 처리하여 개발 시간을 단축하고 유효하지 않은 바코드 생성 위험을 줄입니다.

IronBarcode 데이터 자동화 작업에 적합한가요?

네, IronBarcode 데이터 자동화에 매우 적합합니다. 이미지와 PDF에서 바코드를 읽어들이고 백그라운드 서비스, 예약 작업 및 ASP.NET Core API에 직접 통합됩니다.

IronBarcode 문서 추적에 사용할 수 있습니까?

네. IronBarcode 여러 페이지로 구성된 PDF 파일과 여러 프레임으로 구성된 TIFF 파일에서 바코드를 읽을 수 있으므로 물류, 회계, 기록 관리 분야의 문서 추적 워크플로에 적합합니다.

IronBarcode 어떤 .NET 버전을 지원하나요?

IronBarcode Windows, Linux 및 macOS에서 실행되는 .NET Framework 4.6.2 이상, .NET Core 3.1 이상, 그리고 .NET 5부터 .NET 10까지 지원합니다.

IronBarcode 재고 관리 시스템을 어떻게 향상시키나요?

IronBarcode 이미지 및 PDF 파일에서 안정적인 바코드 생성 및 다중 바코드 스캔 기능을 제공하여 창고 및 소매 환경에서 빠르고 정확한 재고 추적을 가능하게 합니다.

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

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

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

Iron Support Team

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