VintaSoft Barcode .NET SDK를 사용하여 DotCode 바코드를 인식하고 생성합니다.

블로그 카테고리: 바코드.NET

2025/07/10

VintaSoft Barcode..NET SDK는 Windows, Linux, macOS용 전문 크로스 플랫폼 SDK로, .NET, WPF, 웹, MAUI에서 DotCode 바코드를 인식하고 생성할 수 있도록 지원합니다. 몇 줄의 코드만으로 .NET 애플리케이션에 DotCode 바코드 인식 및 생성 기능을 추가할 수 있습니다.


DotCode 바코드란 무엇인가요?

DotCode는 고속 잉크젯 또는 레이저 도트 인쇄 기술을 사용하여 인쇄할 때 안정적으로 판독되도록 설계된 2차원 매트릭스 바코드입니다. 이 바코드를 사용하면 생산 라인 속도로 제품에 동적 데이터(생산일, 만료일, 일련번호 등)를 적용할 수 있습니다. DotCode 바코드의 특징은 눈에 보이는 고정 패턴이 없고 매트릭스 도트가 "체커보드" 형태로 배열되어 있다는 점입니다.


도트코드 바코드의 특징

도트코드 바코드는 2019년 AIM 표준에 의해 정의되었으며, 현재 버전은 도트코드 Rev 4입니다.

도트코드 바코드는 세 가지 인코딩 모드로 무제한의 혼합 데이터를 저장할 수 있습니다.

Support for the GS1 standard allows you to encode data in GS1 format (BarcodeSymbologySubsets.GS1DotCode).

도트코드 바코드는 리드-솔로몬 오류 수정 알고리즘을 사용하여 손상된 바코드를 인식할 수 있습니다.

닷코드 바코드는 다음과 같은 특수 문자를 인코딩할 수 있습니다.


매트릭스 구조

닷코드 매트릭스는 정사각형 또는 직사각형일 수 있으며, 다양한 용도에 맞게 종횡비를 유연하게 조정할 수 있습니다. 최소 심볼 크기는 매우 작을 수 있으므로(최대 3x3mm) 담배갑이나 의약품과 같은 소형 품목에 표시하기에 적합합니다.



VintaSoft Barcode .NET SDK는 래스터 또는 벡터 이미지 형태의 DotCode 바코드뿐만 아니라 고속 바코드 인쇄를 가능하게 하는 MatrixBarcodeStructure 형태의 바코드도 생성할 수 있습니다.


VintaSoft Barcode .NET SDK는 어떤 DotCode를 인식할 수 있습니까?

VintaSoft Barcode .NET SDK는 DotCode 바코드를 인식할 때 다양한 문제가 있는 바코드를 신속하게 인식할 수 있는 고유한 알고리즘을 사용합니다.



다음은 카메라로 캡처한 이미지에서 DotCode 바코드를 인식하는 방법을 보여주는 C# 코드입니다.
/// <summary>
/// Reads DotCode barcodes from a <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="bitmap">A bitmap with barcodes.</param>
public static void ReadDotCodeBarcodesFromBitmap(System.Drawing.Bitmap bitmap)
{
    // create barcode reader
    using (Vintasoft.Barcode.BarcodeReader reader = new Vintasoft.Barcode.BarcodeReader())
    {
        // specify that reader must search for DotCode barcodes
        reader.Settings.ScanBarcodeTypes = Vintasoft.Barcode.BarcodeType.DotCode;

        // read barcodes from image
        Vintasoft.Barcode.IBarcodeInfo[] infos = Vintasoft.Barcode.GdiExtensions.ReadBarcodes(reader, bitmap);

        // if barcodes are not detected
        if (infos.Length == 0)
        {
            System.Console.WriteLine("No barcodes found.");
        }
        // if barcodes are detected
        else
        {
            // get information about extracted barcodes

            System.Console.WriteLine(string.Format("{0} barcodes found:", infos.Length));
            System.Console.WriteLine();
            for (int i = 0; i < infos.Length; i++)
            {
                Vintasoft.Barcode.IBarcodeInfo info = infos[i];
                System.Console.WriteLine(string.Format("[{0}:{1}]", i + 1, info.BarcodeType));
                System.Console.WriteLine(string.Format("Value:      {0}", info.Value));
                System.Console.WriteLine(string.Format("Region:     {0}", info.Region));
                System.Console.WriteLine();
            }
        }
    }
}


VintaSoft Barcode .NET SDK는 어떤 DotCode 바코드를 생성할 수 있나요?

VintaSoft Barcode .NET SDK는 모든 유형의 DotCode 바코드를 생성합니다.

다음은 DotCode 바코드 비트맵을 생성하는 방법을 보여주는 C# 코드입니다.
/// <summary>
/// Returns the DotCode barcode as <see cref="System.Drawing.Bitmap"/>.
/// </summary>
/// <param name="value">The barcode value.</param>
/// <returns>A <see cref="System.Drawing.Bitmap"/> object.</returns>
public static System.Drawing.Bitmap GetDotCodeBarcodeAsBitmap(string value)
{
    // create the barcode writer
    using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
    {
        // set barcode writer settings
        barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.DotCode;
        barcodeWriter.Settings.Value = value;

        // get a barcode image as System.Drawing.Bitmap
        return Vintasoft.Barcode.GdiExtensions.GetBarcodeAsBitmap(barcodeWriter);
    }
}


다음은 DotCode 바코드의 벡터(SVG) 이미지를 생성하는 방법을 보여주는 C# 코드입니다.
/// <summary>
/// Returns the DotCode barcode in vector form as a SVG string.
/// </summary>
/// <param name="barcodeValue">Barcode value.</param>
public static void GetDotCodeBarcodeAsSvgString(string barcodeValue)
{
    // create the barcode writer
    using (Vintasoft.Barcode.BarcodeWriter barcodeWriter = new Vintasoft.Barcode.BarcodeWriter())
    {
        // set barcode writer settings
        barcodeWriter.Settings.Barcode = Vintasoft.Barcode.BarcodeType.DotCode;
        barcodeWriter.Settings.Value = barcodeValue;

        // generate DotCode barcode as a SVG string
        return barcodeWriter.GetBarcodeAsSvgFile();
    }
}