Generera och läs Royal Mail QR-kod med C#

Royal Mail Mailmark 2D streckkoden är en maskinläsbar komplex streckkod som används i bokstäver. Den ger information om postspårning och leveransstatus. Det kan också innehålla ytterligare information, såsom leveransschema och rapporteringsstatistik. I den här artikeln kommer vi att lära oss hur du genererar och läser Royal Mail Mailmark 2D-streckkoden med C#.

Följande ämnen ska behandlas i den här artikeln:

  1. C# API för att generera och läsa Royal Mail QR-koder
  2. Vad är en Royal Barcode?
  3. Typer av Royal Mail QR-koder
  4. Generera en Royal Mail QR-kod
  5. Läs Royal Mail QR-koden
  6. Gratis läranderesurser

C# API för att generera och läsa Royal Mail QR-kod

För att generera och läsa Royal Mail QR-kod kommer vi att använda Aspose.BarCode för .NET API. Med hjälp av API:t kan vi generera och känna igen ett brett utbud av 1D och 2D streckkodstyper.

Vänligen antingen ladda ner DLL för API:t eller installera den med NuGet.

PM> Install-Package Aspose.BarCode

Vad är en Royal Barcode?

Royal Mail-streckkoden är en streckkod för Complex Mail Data Mark (CMDM). Det utvecklades av UK Postal System för att automatisera postsortering och spårning. Den har det specificerade formatet för en datamatris typ ECC200-kod, som överensstämmer med den internationella standarden. Det kallas även Royal Mail 4-State Customer Code (RM4SCC).

Typer av Royal Mail QR-koder

Det finns tre typer av 2D-komplexa streckkoder för postdatamarkering:

  • Typ 7:
    • Brev
    • Streckkod Storlek: 24 × 24 moduler
    • Fysisk storlek: 12 × 12 mm
    • Totalt antal tecken: 51 tecken
    • Kundanvändning: 6 lediga platser
Mailmark2DType7
  • Typ 9:
    • Stora bokstäver, inklusive poly wrap-bokstäver
    • Streckkodsstorlek: 32 × 32 moduler
    • Fysisk storlek: 16 × 16 mm
    • Totalt antal tecken: 90 tecken
    • Kundanvändning: >25 men maximalt 45 lediga platser
Mailmark2DType9
  • Typ 29:
    • Stora bokstäver, inklusive poly-wrap bokstäver
    • Streckkod Storlek: 16 × 48 moduler
    • Fysisk storlek: 8 × 24 mm
    • Totalt antal tecken: 70 tecken
    • Totalt antal tecken: Vi behöver 6–25 kundtecken.
Mailmark2DType29

Generera Royal Mail streckkodstämpel i C#

Vi kan skapa en Royal Mail streckkodstämpel genom att följa stegen nedan:

  1. Skapa först en instans av klassen Mailmark2DCodetext.
  2. Ställ sedan in olika egenskaper som UPUCountryID, VersionID, Class, ItemID, etc.
  3. Ange sedan Mailmark2DType som Type7, Type9 eller Type29.
  4. Skapa sedan en instans av klassen ComplexBarcodeGenerator med objektet Mailmark2DCodetext som argument.
  5. Ställ sedan in streckkodens mått.
  6. Till sist, anropa metoden Save för att spara streckkodsbilden på den lokala disken.

Följande kodexempel visar hur man genererar en Mailmark 2D-streckkod av typ 7 med C#.

// Detta kodexempel visar hur man genererar Mailmark 2D-streckkoden
// Initiera Mailmark 2D Code
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";

// Koda Mailmark 2D Typ 7-kod
mailmark2D.DataMatrixType = Mailmark2DType.Type_7;
mailmark2D.CustomerContent = "CUSTOM";

// Initiera streckkodsgeneratorn
var generator = new ComplexBarcodeGenerator(mailmark2D);
generator.Parameters.Barcode.XDimension.Pixels = 4;

// Spara
generator.Spara(@"D:\Files\BarCode\Mailmark2DType7.png");

Läs Royal Mail QR-kod med C#

Vi kan läsa Royal Mail QR-kod genom att följa stegen nedan:

  1. Skapa först en instans av klassen BarCodeReader.
  2. Ange sedan den inmatade streckkodens bildsökväg och DecodeType.
  3. Få sedan BarCodeResult genom att anropa metoden ReadBarCodes().
  4. Efter det, avkoda streckkoden med metoden TryDecodeMailmark2D().
  5. Läs slutligen de avkodade egenskaperna för objektet Mailmark2DCodetext.

Följande kodexempel visar hur man läser en Mailmark QR-kod med C#.

// Detta kodexempel visar hur man läser Mailmark 2D-streckkoden
// Känn igen Mailmark 2D-koden
BarCodeReader reader = new BarCodeReader(@"D:\Files\BarCode\Mailmark2DType7.png", DecodeType.DataMatrix);
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    // Avkoda Mailmark 2D 
    Mailmark2DCodetext mailmarkResult = ComplexCodetextReader.TryDecodeMailmark2D(result.CodeText);
    
    // Läs egenskaper
    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

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.

Mailmark 2D Streckkodsbibliotek - Lärresurser

Förutom att generera och läsa Royal Mail QR-koder kan du lära dig mer om olika andra funktioner i Aspose.BarCode med hjälp av resurserna nedan:

Slutsats

I den här artikeln har vi lärt oss hur man genererar en Royal Mail QR-kod och sparar streckkodsbilder på disken. Vi har också sett hur man läser den genererade Mailmark 2D-streckkoden programmatiskt. Dessutom kan du lära dig mer om Aspose.BarCode för .NET API med hjälp av dokumentationen. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.

Se även