Создание и чтение 2D-штрихкода Royal Mail Mailmark с использованием C#

Штрих-код Royal Mail Mailmark 2D представляет собой машиночитаемый штрих-код Complex Mail Data Mark (CMDM), используемый в письмах. Он предоставляет информацию об отслеживании почты и статусе доставки. Он также может включать дополнительную информацию, такую как график доставки и отчетность по статистике. В этой статье мы узнаем, как создавать и читать двухмерные штрих-коды Royal Mail Mailmark с помощью C#.

В этой статье должны быть раскрыты следующие темы:

C# API для создания и считывания двухмерных штрих-кодов Royal Mail Mailmark

Для создания и считывания двухмерных штрих-кодов Royal Mail Mailmark мы будем использовать Aspose.BarCode for .NET API. Он позволяет генерировать и распознавать широкий спектр 1D и 2D типов штрих-кодов. Пожалуйста, загрузите DLL API или установите его с помощью NuGet.

PM> Install-Package Aspose.BarCode

Создание 2D-штрих-кода Royal Mail Mailmark с использованием С#

Существует три типа штрих-кодов 2D Complex Mail Data Mark:

  • Тип 7:
    • Буквы
    • Размер штрих-кода: 24 × 24 модуля
    • Физический размер: 12 × 12 мм
    • Общее количество символов: 51 символ
    • Использование клиентом: 6 свободных мест
Mailmark2DType7
  • Тип 9:
    • Крупные буквы, в том числе полиэтиленовая пленка буквы.
    • Размер штрих-кода: 32 × 32 модуля
    • Физический размер: 16 × 16 мм
    • Общее количество символов: 90 символов
    • Использование клиентом: > 25, но не более 45 свободных мест
Mailmark2DType9
  • Тип 29:
    • Крупные буквы, в том числе буквы из полипропилена.
    • Размер штрих-кода: 16 × 48 модулей
    • Физический размер: 8 × 24 мм
    • Общее количество символов: 70 символов
    • Общее количество символов: нужно 6-25 символов клиента
Mailmark2DType29

Мы можем сгенерировать штрих-код Royal Mail Mailmark 2D, выполнив следующие шаги:

  1. Во-первых, создайте экземпляр класса Mailmark2DCodetext.
  2. Затем установите различные свойства, такие как UPUCountryID, VersionID, Class, ItemID и т. д.
  3. Затем установите Mailmark2DType как Type7, Type9 или Type29.
  4. Затем создайте экземпляр класса ComplexBarcodeGenerator с объектом Mailmark2DCodetext в качестве аргумента.
  5. После этого установите размеры штрих-кода.
  6. Наконец, вызовите метод Save, чтобы сохранить изображение штрих-кода на локальном диске.

В следующем примере кода показано, как создать двухмерный штрих-код Mailmark типа 7 с помощью C#.

// В этом примере кода показано, как создать двухмерный штрих-код Mailmark.
// Инициализировать 2D-код Mailmark
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 Type 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");

Чтение 2D-штрих-кода Royal Mail Mailmark с использованием С#

Мы можем прочитать штрих-код Royal Mail Mailmark 2D, выполнив следующие действия:

  1. Во-первых, создайте экземпляр класса BarCodeReader.
  2. Затем укажите путь к входному изображению штрих-кода и DecodeType.
  3. Затем получите BarCodeResult, вызвав метод ReadBarCodes().
  4. После этого расшифруйте штрих-код методом TryDecodeMailmark2D().
  5. Наконец, прочитайте декодированные свойства объекта Mailmark2DCodetext.

В следующем примере кода показано, как считывать штрих-код Mailmark 2D с помощью C#.

// В этом примере кода показано, как считывать двухмерный штрих-код Mailmark.
// Распознавание 2D-кода Mailmark
BarCodeReader reader = new BarCodeReader(@"D:\Files\BarCode\Mailmark2DType7.png", DecodeType.DataMatrix);
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    // Расшифровать почтовую метку 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 и сохранять изображения штрих-кодов на диск. Мы также видели, как программно читать сгенерированные 2D-штрих-коды Mailmark. Кроме того, вы можете узнать больше об Aspose.BarCode for .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также