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

IronBarcode 사용하여 C#에서 바코드를 생성하는 방법

IronBarcode는 C#에서 몇 줄의 코드로 바코드를 생성하고 읽을 수 있게 해주는 .NET 바코드 라이브러리입니다. Code 128, QR 코드, EAN-13, PDF-417, Data Matrix 및 수십 가지 다른 바코드 유형을 생성한 후 PNG, JPEG, TIFF, BMP, PDF 또는 HTML로 내보낼 수 있습니다. 이 가이드는 설치, 핵심 생성 패턴, 스타일링, 내보내기 형식 및 모범 사례를 안내하여 .NET 애플리케이션에 신뢰할 수 있는 바코드 출력을 추가할 수 있도록 돕습니다.

NuGet 패키지 관리자를 사용하여 바코드 생성기 라이브러리를 어떻게 설치합니까?

Visual Studio를 열고 패키지 관리자 콘솔에서 다음 명령으로 NuGet 패키지를 설치하십시오:

Install-Package BarCode

Barcode Generator C# Source Code Using IronBarcode: 이미지 1 - 설치

NuGet 패키지는 .NET 10, .NET 8, .NET 6, .NET Core, .NET Standard 및 .NET Framework를 지원하여 윈도우 애플리케이션 및 크로스 플랫폼 .NET 애플리케이션과 호환됩니다. IronBarcode는 Docker 컨테이너, Azure 및 리눅스 서버에 배포를 지원합니다. IronBarcode 문서 페이지Iron Software GitHub 프로젝트에서 더 많은 세부 정보 및 참조 문서를 확인할 수 있습니다.

설치 후, 프로젝트에서 IronBarCode 네임스페이스를 사용할 수 있습니다. 라이브러리는 윈도우에서 추가 런타임 종속성이 필요하지 않으며, 리눅스에서는 IronBarcode 리눅스 배포 가이드에서 문서화된 몇 가지 시스템 라이브러리를 설치해야 할 수 있습니다.

C#에서 간단한 바코드 이미지 파일을 어떻게 생성합니까?

몇 줄의 코드로 바코드 이미지를 생성하세요. 다음 예제는 PNG 이미지 파일로 저장하는 바코드 생성을 보여줍니다:

using IronBarCode;

// Generate a simple barcode and encode the string data
var barcode = BarcodeWriter.CreateBarcode("SKU-78432-X", BarcodeWriterEncoding.Code128);

// Save the barcode as a PNG image file
barcode.SaveAsPng("product-barcode.png");
using IronBarCode;

// Generate a simple barcode and encode the string data
var barcode = BarcodeWriter.CreateBarcode("SKU-78432-X", BarcodeWriterEncoding.Code128);

// Save the barcode as a PNG image file
barcode.SaveAsPng("product-barcode.png");
$vbLabelText   $csharpLabel

BarcodeWriter.CreateBarcode() 메서드는 인코딩할 문자열과 BarcodeWriterEncoding에서 바코드 형식을 수락합니다. 반환되는 GeneratedBarcode 참조는 스타일링 메서드와 PNG, JPEG, BMP, TIFF, PDF 또는 HTML로 저장할 수 있는 내보내기 옵션을 제공합니다.

산출

Barcode Generator C# Source Code Using IronBarcode: 이미지 2 - 바코드 출력

Code128은 물류 및 재고 시스템을 위한 작업용 바코드입니다. 이 바코드는 대문자, 소문자, 숫자 및 특수 문자를 컴팩트한 선형 형식으로 인코딩합니다. 이 바코드 유형은 전 세계 배송 시설과 소매 환경에서 적절한 스캔을 보장합니다. SaveAsPng() 메서드를 사용할 때 IronBarcode는 화면 표시 및 표준 프린터에 적합한 기본 해상도를 자동으로 설정합니다.

웹 엔드포인트에서 바코드 이미지를 직접 제공해야 하는 응용 프로그램의 경우 디스크에 저장하는 대신 ToStream()을 사용할 수 있습니다. 스트림은 ASP.NET Core의 HttpResponse에 직접 작성되거나 컨트롤러 액션에서 FileStreamResult로 반환될 수 있습니다.

QR 코드 및 기타 2D 바코드 유형을 어떻게 생성합니까?

IronBarcode는 QR 코드 및 Data Matrix와 같은 2D 바코드 유형을 포함한 모든 주요 바코드 형식을 지원합니다. 비슷한 문법으로 QR 코드를 생성하세요:

using IronBarCode;

// Create a QR code and encode URL data
var qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com/csharp/barcode/",
    BarcodeWriterEncoding.QRCode
);
qrCode.SaveAsPng("website-qr.png");
using IronBarCode;

// Create a QR code and encode URL data
var qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com/csharp/barcode/",
    BarcodeWriterEncoding.QRCode
);
qrCode.SaveAsPng("website-qr.png");
$vbLabelText   $csharpLabel

QR 코드 바코드 유형은 URL 및 더 큰 데이터 페이로드를 저장하는 데 탁월합니다. 라이브러리는 오류 수정을 자동으로 처리하여 바코드가 부분적으로 손상되더라도 스캔 가능 상태를 유지합니다. 기본적으로 IronBarcode는 15%의 데이터 손실을 회복하는 오류 수정 수준 M(중간)을 사용합니다. 인쇄된 바코드가 긁히거나 부분적으로 가려질 수 있는 경우 수준 H로 올릴 수 있습니다.

산출

Barcode Generator C# Source Code Using IronBarcode: 이미지 3 - QR 코드 출력

EAN-13 바코드가 필요한 소매 제품의 경우 다음과 같이 바코드 이미지를 생성하십시오:

using IronBarCode;

// Generate an EAN-13 barcode compatible with UPC for retail print applications
var eanBarcode = BarcodeWriter.CreateBarcode("5901234123457", BarcodeWriterEncoding.EAN13);
eanBarcode.SaveAsPng("retail-product.png");
using IronBarCode;

// Generate an EAN-13 barcode compatible with UPC for retail print applications
var eanBarcode = BarcodeWriter.CreateBarcode("5901234123457", BarcodeWriterEncoding.EAN13);
eanBarcode.SaveAsPng("retail-product.png");
$vbLabelText   $csharpLabel

EAN-13은 전 세계 소매 판매점 시스템을 위한 표준 형식입니다. 라이브러리는 체크 디지트를 자동으로 계산하므로 유효한 GTIN-13 번호의 처음 12자리만 제공하면 됩니다. 제공한 체크 디지트가 일치하지 않으면 IronBarcode는 읽을 수 없는 바코드를 생성하지 않고 기술적인 예외를 발생시킵니다.

산출

Barcode Generator C# Source Code Using IronBarcode: 이미지 4 - EAN-13 바코드 출력

Code 128, QR Code 및 EAN-13 외에도 라이브러리는 Code 39, Code 93, UPC-A, UPC-E, ITF, Codabar, PDF-417, Aztec 및 Data Matrix를 지원합니다. 지원되는 형식의 전체 목록은 IronBarcode 바코드 유형 참조 페이지에서 확인할 수 있습니다.

고급 스타일링 옵션으로 스타일된 QR 코드를 어떻게 생성합니까?

전문적인 바코드 생성은 종종 색상 조정 및 주석 추가를 위한 고급 스타일링 옵션을 필요로 합니다. GeneratedBarcode 클래스는 스타일링 메서드가 있는 유창한 API를 제공합니다:

using IronBarCode;
using IronSoftware.Drawing;

// Create a styled barcode with advanced styling options
var styledBarcode = BarcodeWriter
    .CreateBarcode("INV-2025-001847", BarcodeWriterEncoding.Code128)
    .ResizeTo(400, 120)
    .SetMargins(20)
    .ChangeBarCodeColor(Color.DarkBlue)
    .AddAnnotationTextAboveBarcode("Invoice Number:")
    .AddBarcodeValueTextBelowBarcode();

// Verify to ensure proper scanning after styling
bool isReadable = styledBarcode.Verify();
Console.WriteLine($"Barcode verification: {(isReadable ? "PASS" : "FAIL")}");
styledBarcode.SaveAsPng("styled-invoice-barcode.png");
using IronBarCode;
using IronSoftware.Drawing;

// Create a styled barcode with advanced styling options
var styledBarcode = BarcodeWriter
    .CreateBarcode("INV-2025-001847", BarcodeWriterEncoding.Code128)
    .ResizeTo(400, 120)
    .SetMargins(20)
    .ChangeBarCodeColor(Color.DarkBlue)
    .AddAnnotationTextAboveBarcode("Invoice Number:")
    .AddBarcodeValueTextBelowBarcode();

// Verify to ensure proper scanning after styling
bool isReadable = styledBarcode.Verify();
Console.WriteLine($"Barcode verification: {(isReadable ? "PASS" : "FAIL")}");
styledBarcode.SaveAsPng("styled-invoice-barcode.png");
$vbLabelText   $csharpLabel

유창한 API를 통해 한 문장에서 스타일링 메소드를 연결하여 색상을 조정하고, 여백을 설정하고, 텍스트를 추가할 수 있습니다. Verify() 메서드는 바코드가 기계 판독 가능하게 유지되는지 여부를 나타냅니다. -- 비표준 색상을 적용하거나 작은 크기로 조정한 후 생산에서 적절한 스캔을 보장합니다.

아주 밝은 색상이나 흰색 배경과의 대비가 낮은 파란색으로 바코드 색상을 변경하면 스캔에 실패할 수 있습니다. 항상 색상 변경 후 Verify()을 호출하십시오. 검증에 실패하면 대비를 높이거나 검은색 바를 복구하십시오. 바코드 스타일링 및 사용자화 가이드는 사용 가능한 모든 스타일 방법을 자세히 다룹니다.

전체 카탈로그에서 일관된 스타일을 가진 여러 바코드를 생성하려면, 표준 스타일링 체인을 각 GeneratedBarcode 인스턴스에 적용하는 도우미 메서드를 구축하십시오. 이 접근법은 수천 개의 생성된 이미지에 걸쳐 일관된 여백, 폰트 크기 및 색상을 보장합니다.

다양한 이미지 형식으로 바코드를 어떻게 내보냅니까?

다양한 용도를 위해 여러 형식으로 바코드 이미지를 생성하세요. 라이브러리는 PNG, JPEG, BMP, TIFF, PDF 및 HTML로 저장합니다:

using IronBarCode;

var barcode = BarcodeWriter.CreateBarcode("EXPORT-TEST", BarcodeWriterEncoding.Code128);

// Export barcode images to various formats
barcode.SaveAsPng("barcode.png");           // Web-compatible raster image
barcode.SaveAsJpeg("barcode.jpg");          // Compressed format for email attachments
barcode.SaveAsTiff("barcode.tiff");         // High-quality format for print workflows
barcode.SaveAsPdf("barcode.pdf");           // PDF document output
barcode.SaveAsHtmlFile("barcode.html");     // HTML for inline web embedding

// Get as bitmap stream for web APIs or database storage
System.IO.Stream barcodeStream = barcode.ToStream();
System.Drawing.Bitmap bitmapImage = barcode.ToBitmap();
using IronBarCode;

var barcode = BarcodeWriter.CreateBarcode("EXPORT-TEST", BarcodeWriterEncoding.Code128);

// Export barcode images to various formats
barcode.SaveAsPng("barcode.png");           // Web-compatible raster image
barcode.SaveAsJpeg("barcode.jpg");          // Compressed format for email attachments
barcode.SaveAsTiff("barcode.tiff");         // High-quality format for print workflows
barcode.SaveAsPdf("barcode.pdf");           // PDF document output
barcode.SaveAsHtmlFile("barcode.html");     // HTML for inline web embedding

// Get as bitmap stream for web APIs or database storage
System.IO.Stream barcodeStream = barcode.ToStream();
System.Drawing.Bitmap bitmapImage = barcode.ToBitmap();
$vbLabelText   $csharpLabel

ToStream() 메서드는 ASP.NET Core 웹 API 및 Blazor 응용 프로그램과 호환되는 바코드 데이터를 반환합니다. ToBitmap() 메서드는 추가 이미지 조작을 위한 System.Drawing.Bitmap 참조를 제공합니다. 기존 PDF 문서에 바코드를 스탬프하는 방법은 IronBarcode PDF 바코드 튜토리얼을 참조하세요.

산출

Barcode Generator C# Source Code Using IronBarcode: 이미지 5 - PNG 바코드 출력

Barcode Generator C# Source Code Using IronBarcode: 이미지 6 - HTML 바코드 출력

적합한 형식을 선택하는 것은 다운스트림 워크플로에 따라 다릅니다. PNG는 손실이 없으며 웹 및 애플리케이션 UI에 적합한 기본값입니다. TIFF는 색상 정확도가 중요한 인쇄 생산 파이프라인에 선호됩니다. PDF 출력은 인쇄소에서 바로 처리할 수 있는 준비된 문서가 필요할 때 유용합니다. HTML 출력은 편리한 이메일 템플릿 및 웹 포털에 적합한 베이스64 이미지가 포함된 독립적인 파일을 생성합니다.

IronBarcode는 어떤 크로스 플랫폼 .NET 환경을 지원하나요?

IronBarcode는 모든 주요 .NET 플랫폼에서 바코드 생성을 지원합니다. 배포 대상:

IronBarcode 배포 플랫폼 지원
플랫폼 지원되는 런타임 일반 사용 사례
윈도우 .NET 10, .NET 8, .NET Framework 4.6.2+ 데스크톱 애플리케이션, 윈도우 서비스, IIS 웹 서버
리눅스 .NET 10, .NET 8, .NET Core 3.1+ Docker 컨테이너, AWS Lambda, Azure Functions
macOS .NET 10, .NET 8 개발 환경, macOS 서버 앱
이동하는 .NET MAUI, Xamarin iOS 및 Android 모바일 애플리케이션
클라우드 Azure, AWS, Google 클라우드 서버리스 함수, 컨테이너형 마이크로서비스

IronBarcode Docker 설정 가이드는 컨테이너 배포를 위한 필수 시스템 라이브러리에 대한 세부 정보를 제공합니다. 리눅스에서 실행할 때, 일반적으로 Docker 이미지에 libgdipluslibc6-dev를 설치해야 합니다. Alpine 리눅스에서는 조금 다른 패키지 세트가 필요하며, 가이드는 Ubuntu/Debian 및 Alpine Dockerfile을 모두 다룹니다.

AWS Lambda 배포의 경우, AWS Lambda 배포 가이드는 배포 패키지에 네이티브 종속성을 번들로 묶고 메모리 제약을 구성하여 바코드 렌더링 작업을 처리하는 방법을 설명합니다.

.NET에서 바코드 생성을 위한 모범 사례를 따르는 방법은 무엇인가요?

C# 애플리케이션에서 바코드 이미지를 생성할 때 일관된 일련의 실천을 따르면 현장에서 신뢰할 수 있는 스캔 가능한 바코드와 판매 시점이나 창고 현장에서 실패하는 바코드를 구분할 수 있습니다. 아래의 지침은 선택한 바코드 형식과 관계없이 적용됩니다.

사용 사례에 적합한 바코드 형식을 선택하세요. 스캐닝 환경과 데이터 요구 사항에 맞는 형식을 선택하세요. 80자 이상의 URL과 데이터 페이로드에는 QR 코드를 사용하세요. 알파벳과 숫자가 조밀한 선형 기호에 맞춰야 하는 재고 및 물류에는 Code 128을 사용하세요. GS1 시스템에 등록해야 하는 소매 제품에는 EAN-13 또는 UPC-A를 사용하세요. IronBarcode의 바코드 형식 비교 페이지는 지원되는 모든 유형, 용량 제한 및 권장 사용 사례에 대한 나란히 참조를 제공합니다.

항상 충분한 여백을 포함하세요. 바코드 주위의 공백, 즉 여백은 막대 자체만큼 중요합니다. 스캐너는 기호의 시작과 끝을 감지하는 데 사용합니다. 디지털 디스플레이 용도로 각 측면에 적어도 10 픽셀의 패딩을 추가하고, 인쇄 출력 용도로 적어도 2.5 mm의 패딩을 추가하려면 SetMargins() 메서드를 사용하십시오. 생산에서 여백을 침범하는 것은 스캔 실패의 가장 일반적인 원인 중 하나입니다.

스타일링 변경 후 확인하십시오. 색상 조정, 그라디언트 적용, 비표준 치수로 크기 조정 후, Verify()을 해당 GeneratedBarcode 객체에서 호출하십시오. 거짓이 반환되면 표준 하드웨어로 바코드를 신뢰할 수 있게 스캔할 수 없습니다. 대비를 높이거나 스타일 변경의 복잡성을 줄이세요.

대량 출력을 위한 일괄 생성 패턴을 사용하세요. 애플리케이션에서 수천 개의 바코드(예: 제품 라벨 또는 배송 명세서)를 생성하는 경우, 루프에서 처리하고 동일한 스타일 구성을 재사용하세요. 루프 내에서 글꼴 자산이나 구성 객체를 로드하는 것을 피하세요. 이는 불필요한 오버헤드를 생성합니다. IronBarcode 배치 바코드 생성 예제는 일관된 출력과 함께 효율적인 루프 패턴을 보여줍니다.

여러 스캐너 모델과 조명 조건에서 테스트하세요. 바코드 스캐너는 저명도 색상, 작은 모듈 크기, 인쇄 품질에 대한 허용도가 다릅니다. 배포하기 전에 적어도 두 가지 다른 스캐너 유형으로 인쇄된 바코드를 테스트하세요. 화면에 표시되는 QR 코드를 위해, 밝은 조명과 어두운 조명 모두에서 모바일 전화 카메라로 테스트하세요. GS1 바코드 검증 표준 페이지는 소매 바코드의 심볼 품질 등급에 대한 권위 있는 지침을 제공합니다.

데이터 용량 제한을 존중하세요. 모든 바코드 형식은 최대 데이터 용량을 가지고 있습니다. Code 128은 기호가 표준 라벨 크기로 인쇄하기에 너무 넓어지기 전에 약 48자를 편하게 인코딩할 수 있습니다. QR 코드 용량은 오류 수정 수준에 따라 다릅니다 -- H 수준의 경우 최대 약 1,273개의 영숫자 문자를 지원합니다. 용량을 초과하면 라이브러리는 예외를 던지거나 조용히 품질 저하를 처리해야 합니다. 위키백과의 QR 코드 데이터 용량 참조에서 빠른 용량 표를 확인하세요.

.NET 처리 패턴을 따르십시오. GeneratedBarcodeToStream()에서 반환되는 모든 스트림은 IDisposable을 구현합니다. 관리되지 않는 리소스를 즉시 해제하기 위해 고속 처리 웹 응용 프로그램에서 요청마다 바코드 생성이 발생하는 경우, 특히 using 문에 이를 포함하십시오.

일반적인 실패 모드를 이해하면 보다 견고한 생성 코드를 작성하는 데 도움이 됩니다. 스캔 실패의 세 가지 가장 빈번한 원인은: 불충분한 무음 영역, 배경색과 너무 가까운 막대 색상, 선택한 형식의 최소 모듈 크기 아래로 스케일된 바코드입니다. IronBarcode의 Verify() 메서드는 런타임에서 이 세 가지 모두를 포착합니다.

생성된 이미지에서 바코드를 다시 읽기 위해 -- 왕복 테스트 또는 업로드된 파일 스캔 -- IronBarcode 바코드 리더 가이드를 참조하세요. 리더 API는 작성자 API와 단순성이 비슷하며 동일하게 광범위한 형식을 지원합니다.

Code 128에 대한 ISO/IEC 15417 표준QR 코드에 대한 ISO/IEC 18004 표준은 IronBarcode가 준수하는 기술 사양을 정의합니다. 대상 바코드 유형에 대한 관련 표준을 검토하면 라이브러리가 작동해야 하는 제약 조건을 이해하는 데 도움이 됩니다.

다음 단계는 무엇입니까?

이 가이드는 IronBarcode를 사용하여 C#에서 바코드 이미지를 생성하는 방법을 다뤘습니다 -- NuGet 설치부터 Code 128, QR 코드 및 EAN-13 생성, 유창한 API를 통한 고급 스타일링, 다중 형식 내보내기, 크로스 플랫폼 배포 및 생산 최적 실습까지.

더 나아가려면 다음 리소스를 탐색하세요:

IronBarcode를 다운로드하여 .NET 응용 프로그램에 바코드 기능을 추가하거나 라이선스 키 없이 환경에서 바코드 이미지를 생성할 수 있는 무료 30일 체험판을 시작하세요.

자주 묻는 질문

NuGet 패키지 관리자를 사용하여 IronBarcode 설치하는 방법은 무엇인가요?

Visual Studio를 열고 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔로 이동한 다음 `Install-Package BarCode`를 실행합니다. 또는 NuGet 패키지 관리자 UI에서 ' IronBarcode '를 검색하고 설치를 클릭합니다.

IronBarcode 사용하여 어떤 유형의 바코드를 생성할 수 있습니까?

IronBarcode QR 코드, Code 128, Code 39, Code 93, UPC-A, UPC-E, EAN-13, EAN-8, PDF-417, Data Matrix, Aztec 등 다양한 유형의 바코드 생성을 지원합니다.

IronBarcode 다양한 이미지 형식으로 바코드를 생성할 수 있습니까?

예, IronBarcode SaveAsPng, SaveAsJpeg, SaveAsTiff, SaveAsPdf 및 SaveAsHtmlFile 메서드를 사용하여 PNG, JPEG, BMP, TIFF, PDF 및 HTML 형식의 바코드를 생성할 수 있습니다.

IronBarcode .NET 10과 호환됩니까?

네, IronBarcode 는 .NET 10, .NET 8, .NET 6, .NET Core, .NET Standard 및 .NET Framework 와 완벽하게 호환되므로 바코드 생성 기능을 다양한 플랫폼 애플리케이션에 통합할 수 있습니다.

IronBarcode 사용하여 바코드의 모양을 어떻게 사용자 지정할 수 있습니까?

IronBarcode GeneratedBarcode 클래스에 대한 유연한 API를 제공합니다. ResizeTo(), SetMargins(), ChangeBarCodeColor(), AddAnnotationTextAboveBarcode(), AddBarcodeValueTextBelowBarcode()와 같은 메서드를 연결하여 바코드 모양을 사용자 지정할 수 있습니다. 스타일링 후에는 항상 Verify()를 호출하여 바코드가 스캔 가능한 상태로 유지되는지 확인하십시오.

IronBarcode 바코드 읽기 및 스캔을 지원합니까?

예, IronBarcode BarcodeReader 클래스와 해당 Read 메서드를 사용하여 이미지, PDF 및 스트림에서 바코드를 읽고 스캔하는 기능을 지원합니다.

IronBarcode 사용하여 바코드를 일괄적으로 생성할 수 있습니까?

네, IronBarcode 일괄 생성을 지원합니다. 루프를 사용하여 데이터를 순회하면서 각 항목에 대해 BarcodeWriter.CreateBarcode()를 호출하고 표준 스타일링 체인을 적용하세요. 효율성을 위해 루프 외부에서 구성 객체를 재사용할 수 있습니다.

IronBarcode 의 체험판이 있나요?

네, IronBarcode 30일 무료 평가판 라이선스를 제공합니다. ironsoftware.com/csharp/barcode/licensing/#trial-license를 방문하여 평가판 키를 받으시고 평가 기간 동안 워터마크 없이 모든 기능을 사용해 보세요.

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

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

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

Iron Support Team

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