使用 C# 生成并读取 Royal Mail 二维码

英国皇家邮政 Mailmark 二维条形码是一种用于信件的机器可读的复杂条形码。它提供有关邮件跟踪和投递状态的信息。它还可能包括附加信息,例如交付时间表和报告统计数据。在本文中,我们将学习如何使用 C# 生成和读取 Royal Mail Mailmark 二维条码。

本文将涵盖以下主题:

  1. 用于生成和读取皇家邮政二维码的 C# API
  2. 什么是皇家条形码?
  3. 皇家邮政二维码类型
  4. 生成皇家邮政二维码
  5. 读取皇家邮政二维码
  6. 免费学习资源

用于生成和读取 Royal Mail 二维码的 C# API

为了生成和读取 Royal Mail QR 码,我们将使用 Aspose.BarCode for .NET API。使用 API,我们可以生成并识别各种一维和二维条形码类型

下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.BarCode

什么是皇家条形码?

英国皇家邮政条形码是一种复杂邮件数据标记 (CMDM) 条形码。它由英国邮政系统开发,用于自动化邮件分类和跟踪。它具有Data Matrix类型ECC200代码的指定格式,符合国际标准。它也称为皇家邮政 4 州客户代码 (RM4SCC)。

皇家邮政 QR 码的类型

二维复杂邮件数据标记条形码分为三种类型:

  • 类型7:
    • 信件
    • 条码尺寸:24 × 24 模块
    • 物理尺寸:12×12毫米
    • 总字符数:51 个字符
    • 客户使用:6个备用空间
Mailmark2DType7
  • 类型9:
    • 大字母,包括塑料包装字母
    • 条码尺寸:32 × 32 模块
    • 物理尺寸:16×16毫米
    • 总字符数:90 个字符
    • 客户使用:>25 但最多 45 个备用空间
邮件标记2DType9
  • 类型 29:
    • 大字母,包括塑料包装字母
    • 条码尺寸:16 × 48 模块
    • 物理尺寸:8×24毫米
    • 总字符数:70 个字符
    • 总字符数:我们需要 6-25 个客户字符。
Mailmark2DType29

在 C# 中生成皇家邮政条形码邮票

我们可以按照以下步骤生成皇家邮政条形码邮票:

  1. 首先,创建 Mailmark2DCodetext 类的实例。
  2. 接下来,设置各种属性,例如 UPUCountryID、VersionID、Class、ItemID 等。
  3. 然后,将 Mailmark2DType 指定为 Type7、Type9 或 Type29。
  4. 接下来,使用 Mailmark2DCodetext 对象作为参数创建 ComplexBarcodeGenerator 类的实例。
  5. 之后,设置条形码尺寸。
  6. 最后调用Save方法将条码图片保存到本地磁盘。

以下代码示例演示如何使用 C# 生成类型 7 的 Mailmark 二维条形码。

// 此代码示例演示如何生成 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";

// 对邮标 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# 读取皇家邮政二维码

我们可以按照以下步骤读取皇家邮政二维码:

  1. 首先,创建 BarCodeReader 类的实例。
  2. 接下来,提供输入条形码图像路径和 DecodeType
  3. 然后,通过调用 ReadBarCodes() 方法获取 BarCodeResult
  4. 之后,使用 TryDecodeMailmark2D() 方法解码条形码。
  5. 最后,读取 Mailmark2DCodetext 对象的解码属性。

以下代码示例演示如何使用 C# 读取 Mailmark QR 码。

// 此代码示例演示如何读取 Mailmark 二维条形码
// 识别邮标二维码
BarCodeReader reader = new BarCodeReader(@"D:\Files\BarCode\Mailmark2DType7.png", DecodeType.DataMatrix);
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    // 解码二维邮标 
    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

获取免费许可证

您可以获得免费的临时许可证来试用该库,而不受评估限制。

Mailmark 二维条码库 - 学习资源

除了生成和读取 Royal Mail QR 码之外,您还可以使用以下资源了解有关 Aspose.BarCode 的各种其他功能的更多信息:

结论

在本文中,我们学习了如何生成皇家邮政二维码并将条形码图像保存在磁盘上。我们还了解了如何以编程方式读取生成的 Mailmark 二维条形码。此外,您可以使用文档了解有关Aspose.BarCode for .NET API的更多信息。如有任何疑问,请随时通过我们的免费支持论坛与我们联系。

也可以看看