C#을 사용하여 Royal Mail Mailmark 2D 바코드 생성 및 읽기

Royal Mail Mailmark 2D 바코드는 문자에 사용되는 기계 판독이 가능한 CMDM(복합 메일 데이터 마크) 바코드입니다. 메일 추적 및 배달 상태에 대한 정보를 제공합니다. 여기에는 배송 일정 및 보고 통계와 같은 추가 정보도 포함될 수 있습니다. 이 기사에서는 C#을 사용하여 Royal Mail Mailmark 2D 바코드를 생성하고 읽는 방법을 배웁니다.

이 기사에서는 다음 주제를 다룹니다.

Royal Mail Mailmark 2D 바코드를 생성하고 읽는 C# API

Royal Mail Mailmark 2D 바코드를 생성하고 읽기 위해 Aspose.BarCode for .NET API를 사용할 것입니다. 다양한 1D 및 2D바코드 유형를 생성하고 인식할 수 있습니다. API의 DLL을 다운로드하거나 NuGet을 사용하여 설치하십시오.

PM> Install-Package Aspose.BarCode

C#을 사용하여 Royal Mail Mailmark 2D 바코드 생성

2D 복합 메일 데이터 마크 바코드에는 세 가지 유형이 있습니다.

  • 유형 7:
    • 편지
    • 바코드 크기: 24 × 24 모듈
    • 물리적 크기: 12 × 12mm
    • 총 문자 수: 51자
    • 고객 사용: 6개의 여유 공간
Mailmark2DType7
  • 유형 9:
    • 폴리 랩을 포함한 큰 글자 편지.
    • 바코드 크기: 32 × 32 모듈
    • 물리적 크기: 16 × 16mm
    • 총 문자 수: 90자
    • 고객 사용: >25개, 최대 45개의 여유 공간
Mailmark2DType9
  • 유형 29:
    • 폴리 랩 레터를 포함한 큰 글자.
    • 바코드 크기: 16 × 48 모듈
    • 물리적 크기: 8 × 24mm
    • 총 문자 수: 70자
    • 총 문자 수: 6-25자의 고객 문자 필요
Mailmark2DType29

아래 단계에 따라 Royal Mail Mailmark 2D 바코드를 생성할 수 있습니다.

  1. 먼저 Mailmark2DCodetext 클래스의 인스턴스를 만듭니다.
  2. 다음으로 UPUCountryID, VersionID, Class, ItemID 등의 다양한 속성을 설정합니다.
  3. 그런 다음 Mailmark2DType을 Type\7, Type\9 또는 Type\29로 설정합니다.
  4. 다음으로 Mailmark2DCodetext 개체를 인수로 사용하여 ComplexBarcodeGenerator 클래스의 인스턴스를 만듭니다.
  5. 그런 다음 바코드 치수를 설정합니다.
  6. 마지막으로 Save 메서드를 호출하여 바코드 이미지를 로컬 디스크에 저장합니다.

다음 코드 예제에서는 C#을 사용하여 유형 7의 Mailmark 2D 바코드를 생성하는 방법을 보여줍니다.

// 이 코드 예제는 Mailmark 2D 바코드를 생성하는 방법을 보여줍니다
// Mailmark 2D 코드 초기화
Mailmark2DCodetext mailmark2D = new Mailmark2DCodetext();
mailmark2D.UPUCountryID = "JGB ";
mailmark2D.InformationTypeID = "0";
mailmark2D.VersionID = "1";
mailmark2D.Class = "1";
mailmark2D.SupplyChainID = 123;
mailmark2D.ItemID = 1234;
mailmark2D.DestinationPostCodeAndDPS = "QWE1";
mailmark2D.RTSFlag = "0";
mailmark2D.ReturnToSenderPostCode = "QWE2";

// Mailmark 2D 유형 7 코드 인코딩
mailmark2D.DataMatrixType = Mailmark2DType.Type_7;
mailmark2D.CustomerContent = "CUSTOM";

// 바코드 생성기 초기화
var generator = new ComplexBarcodeGenerator(mailmark2D);
generator.Parameters.Barcode.XDimension.Pixels = 4;

// 구하다
generator.구하다(@"D:\Files\BarCode\Mailmark2DType7.png");

C#을 사용하여 Royal Mail Mailmark 2D 바코드 읽기

아래 단계에 따라 Royal Mail Mailmark 2D 바코드를 읽을 수 있습니다.

  1. 먼저 BarCodeReader 클래스의 인스턴스를 만듭니다.
  2. 다음으로, 입력 바코드 이미지 경로와 DecodeType를 제공합니다.
  3. 그런 다음 ReadBarCodes() 메서드를 호출하여 BarCodeResult을 가져옵니다.
  4. 그런 다음 TryDecodeMailmark2D() 메서드를 사용하여 바코드를 디코딩합니다.
  5. 마지막으로 Mailmark2DCodetext 개체의 디코딩된 속성을 읽습니다.

다음 코드 예제는 C#을 사용하여 Mailmark 2D 바코드를 읽는 방법을 보여줍니다.

// 이 코드 예제는 Mailmark 2D 바코드를 읽는 방법을 보여줍니다.
// Mailmark 2D 코드 인식
BarCodeReader reader = new BarCodeReader(@"D:\Files\BarCode\Mailmark2DType7.png", DecodeType.DataMatrix);
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    // Mailmark 2D 디코딩 
    Mailmark2DCodetext mailmarkResult = ComplexCodetextReader.TryDecodeMailmark2D(result.CodeText);
    
    // 속성 읽기
    Console.WriteLine($"UPUCountryID:{mailmarkResult.UPUCountryID}");
    Console.WriteLine($"InformationTypeID:{mailmarkResult.InformationTypeID}");
    Console.WriteLine($"VersionID:{mailmarkResult.VersionID}");
    Console.WriteLine($"Class:{mailmarkResult.Class}");
    Console.WriteLine($"SupplyChainID:{mailmarkResult.SupplyChainID}");
    Console.WriteLine($"ItemID:{mailmarkResult.ItemID}");
    Console.WriteLine($"DestinationPostCodeAndDPS:{mailmarkResult.DestinationPostCodeAndDPS}");
    Console.WriteLine($"RTSFlag:{mailmarkResult.RTSFlag}");
    Console.WriteLine($"ReturnToSenderPostCode:{mailmarkResult.ReturnToSenderPostCode}");
    Console.WriteLine($"CustomerContent:{mailmarkResult.CustomerContent}");
}
UPUCountryID:JGB
InformationTypeID:0
VersionID:1
Class:1
SupplyChainID:123
ItemID:1234
DestinationPostCodeAndDPS:QWE1
RTSFlag:0
ReturnToSenderPostCode:QWE2
CustomerContent:CUSTOM DATA

무료 라이선스 받기

평가 제한 없이 라이브러리를 사용해 보려면 무료 임시 라이센스를 얻으십시오.

결론

이 기사에서는 Royal Mail Mailmark 2D 바코드를 생성하고 바코드 이미지를 디스크에 저장하는 방법을 배웠습니다. 또한 생성된 Mailmark 2D 바코드를 프로그래밍 방식으로 읽는 방법도 살펴보았습니다. 또한 문서를 사용하여 .NET API용 Aspose.BarCode에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오