使用 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的資訊。如有任何疑問,請隨時透過我們的免費支援論壇與我們聯繫。

也可以看看