Gere e leia o código QR do Royal Mail usando C#

O código de barras 2D Royal Mail Mailmark é um código de barras complexo legível por máquina usado em cartas. Ele fornece informações sobre rastreamento de correspondência e status de entrega. Também pode incluir informações adicionais, como o cronograma de entrega e estatísticas de relatórios. Neste artigo, aprenderemos como gerar e ler o código de barras 2D Royal Mail Mailmark usando C#.

Os seguintes tópicos serão abordados neste artigo:

  1. API C# para gerar e ler códigos QR do Royal Mail
  2. O que é um código de barras real?
  3. Tipos de códigos QR do Royal Mail
  4. Gerar um código QR do Royal Mail
  5. Leia o código QR do Royal Mail
  6. Recursos de aprendizagem gratuitos

API C# para gerar e ler código QR do Royal Mail

Para gerar e ler o código QR do Royal Mail, usaremos a API Aspose.BarCode for .NET. Usando a API, podemos gerar e reconhecer uma ampla variedade de tipos de código de barras 1D e 2D.

Por favor baixe a DLL da API ou instale-a usando NuGet.

PM> Install-Package Aspose.BarCode

O que é um código de barras real?

O código de barras Royal Mail é um código de barras Complex Mail Data Mark (CMDM). Foi desenvolvido pelo UK Postal System para automatizar a classificação e rastreamento de correspondência. Possui formato especificado de código Data Matrix tipo ECC200, atendendo ao padrão internacional. Também é chamado de Código do Cliente Royal Mail 4-State (RM4SCC).

Tipos de códigos QR do Royal Mail

Existem três tipos de códigos de barras de marca de dados de correio complexos 2D:

  • Tipo 7:
    • Cartas
    • Tamanho do código de barras: 24 × 24 módulos
    • Tamanho físico: 12 × 12 mm
    • Contagem total de caracteres: 51 caracteres
    • Uso do cliente: 6 espaços extras
Marca postal2DType7
  • Tipo 9:
    • Letras grandes, incluindo letras poli-envoltórias
    • Tamanho do código de barras: 32 × 32 módulos
    • Tamanho físico: 16 × 16 mm
    • Contagem total de caracteres: 90 caracteres
    • Uso do cliente: >25, mas no máximo 45 espaços livres
Marca postal2DType9
  • Tipo 29:
    • Letras grandes, incluindo letras poly-wrap
    • Tamanho do código de barras: 16 × 48 módulos
    • Tamanho físico: 8 × 24 mm
    • Contagem total de caracteres: 70 caracteres
    • Contagem total de caracteres: Precisamos de 6 a 25 caracteres do cliente.
Marca postal2DType29

Gerar carimbo de código de barras do Royal Mail em C#

Podemos gerar um carimbo de código de barras do Royal Mail seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe Mailmark2DCodetext.
  2. Em seguida, defina várias propriedades, como UPUCountryID, VersionID, Class, ItemID, etc.
  3. Em seguida, especifique Mailmark2DType como Type7, Type9 ou Type29.
  4. Em seguida, crie uma instância da classe ComplexBarcodeGenerator com o objeto Mailmark2DCodetext como argumento.
  5. Depois disso, defina as dimensões do código de barras.
  6. Por fim, chame o método Save para salvar a imagem do código de barras no disco local.

O exemplo de código a seguir demonstra como gerar um código de barras Mailmark 2D do tipo 7 usando C#.

// Este exemplo de código demonstra como gerar o código de barras 2D Mailmark
// Inicializar código 2D do 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";

// Codificar código de marca postal 2D tipo 7
mailmark2D.DataMatrixType = Mailmark2DType.Type_7;
mailmark2D.CustomerContent = "CUSTOM";

// Inicializar gerador de código de barras
var generator = new ComplexBarcodeGenerator(mailmark2D);
generator.Parameters.Barcode.XDimension.Pixels = 4;

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

Leia o código QR do Royal Mail usando C#

Podemos ler o código QR do Royal Mail seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe BarCodeReader.
  2. Em seguida, forneça o caminho da imagem do código de barras de entrada e o DecodeType.
  3. Em seguida, obtenha o BarCodeResult chamando o método ReadBarCodes().
  4. Depois disso, decodifique o código de barras usando o método TryDecodeMailmark2D().
  5. Por fim, leia as propriedades decodificadas do objeto Mailmark2DCodetext.

O exemplo de código a seguir demonstra como ler um código QR do Mailmark usando C#.

// Este exemplo de código demonstra como ler o código de barras 2D do Mailmark
// Reconhecer código 2D de marca postal
BarCodeReader reader = new BarCodeReader(@"D:\Files\BarCode\Mailmark2DType7.png", DecodeType.DataMatrix);
foreach (BarCodeResult result in reader.ReadBarCodes())
{
    // Decodificar marca postal 2D 
    Mailmark2DCodetext mailmarkResult = ComplexCodetextReader.TryDecodeMailmark2D(result.CodeText);
    
    // Ler propriedades
    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

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para experimentar a biblioteca sem limitações de avaliação.

Biblioteca de códigos de barras 2D Mailmark - Recursos de aprendizagem

Além de gerar e ler códigos QR do Royal Mail, você pode aprender mais sobre vários outros recursos do Aspose.BarCode usando os recursos abaixo:

Conclusão

Neste artigo, aprendemos como gerar um código QR do Royal Mail e salvar imagens de código de barras no disco. Também vimos como ler o código de barras Mailmark 2D gerado programaticamente. Além disso, você pode aprender mais sobre a API Aspose.BarCode for .NET usando a documentação. Em caso de qualquer ambigüidade, sinta-se à vontade para nos contatar em nosso fórum de suporte gratuito.

Veja também