Att generera QR‑koder är ett vanligt krav i post‑, frakt‑ och logistikapplikationer. Om ditt Python‑program behöver skapa en QR‑kod som innehåller data relaterade till Royal Mail, såsom ett spårningsvärde, routningsvärde, postnummer eller en anpassad postpayload, kan du använda Aspose.BarCode for Python via .NET för att generera QR‑bilden och läsa tillbaka den för verifiering.

I den här artikeln kommer vi att skapa en Royal Mail QR‑kod i Python och sedan avkoda den genererade QR‑kodbilden. Kodexemplen är uppdelade i två tydliga sektioner: en för QR‑kodgenerering och en för QR‑kodläsning.

Obs: I den här artikeln betyder “Royal Mail QR code” en standard QR‑kod som lagrar Royal Mail‑relaterad nyttolastdata. Om du behöver Royal Mail Mailmark, är det en annan poststreckkodstyp och kräver en specifik Mailmark‑datastruktur.

Installera Aspose.BarCode for Python via .NET

Installera Aspose.BarCode-paketet från PyPI med följande kommando:

pip install aspose-barcode-for-python-via-net

Efter installationen kan du använda genererings‑API:et för att skapa streckkodsbilder och igenkännings‑API:et för att läsa streckkodsbilder.

Steg för att generera en Royal Mail QR‑kod i Python

Följ dessa steg för att generera en Royal Mail QR‑kod:

  1. Importera generation-namnutrymmet från aspose.barcode.
  2. Förbered Royal Mail‑payload‑texten som du vill koda.
  3. Skapa ett BarcodeGenerator‑objekt.
  4. Ställ in streckkodstypen till generation.EncodeTypes.QR.
  5. Spara den genererade QR‑kodbilden med generation.BarCodeImageFormat.PNG.

Generera Royal Mail QR‑kod i Python

Följande kodexempel visar hur man genererar en Royal Mail QR‑kod och sparar den som en PNG‑bild.

from aspose.barcode import generation

Data att koda i QR-koden

Ersätt detta med din faktiska Royal Mail-payload / spårnings- / etikettdata

royal_mail_data = “ROYALMAIL|TRACKING=AA123456789GB|POSTCODE=SW1A1AA”

Generera Royal Mail QR‑kod

file_name = “royal_mail_qr.png”

generator = generation.BarcodeGenerator( generation.EncodeTypes.QR, royal_mail_data )

generator.save(file_name, generation.BarCodeImageFormat.PNG)

print(“QR Code generated:”, file_name)

<!--[CODE_SNIPPET_END]-->

I det här exemplet skapar klassen `BarcodeGenerator` en QR‑kod från den angivna texten. Värdet `generation.EncodeTypes.QR` anger att den genererade streckkoden måste vara en QR‑kod. Slutligen exporterar metoden `save()` den genererade streckkodsbilden som en PNG‑fil.

Du kan ersätta exempelvärdet för `royal_mail_data` med din riktiga Royal Mail‑payload. Till exempel kan du koda ett spårningsnummer, en etikettidentifierare, postnummer eller ett annat postvärde som krävs av din applikation.

## Steg för att läsa en Royal Mail QR‑kod i Python

Efter att ha genererat QR‑koden kan du läsa av den igen för att verifiera att den kodade datan är korrekt. Följ dessa steg:

1. Importera `barcoderecognition`‑namnutrymmet från `aspose.barcode`.
2. Skapa en `BarCodeReader`‑instans och skicka QR‑kodens bildsökväg.
3. Ställ in streckkodstypen till `br.DecodeType.QR`.
4. Anropa `read_bar_codes()` för att extrahera streckkodresultat.
5. Läs den avkodade texten från `code_text`‑egenskapen.

## Läs Royal Mail QR‑kod i Python

Följande kodexempel visar hur man läser den genererade Royal Mail QR‑kodbilden.

<!--[CODE_SNIPPET_START]-->
```python
from aspose.barcode import barcoderecognition as br

Läs Royal Mail QR-kod

file_name = “royal_mail_qr.png”

reader = br.BarCodeReader(file_name, br.DecodeType.QR)

for result in reader.read_bar_codes():
    print("Barcode Type:", result.code_type_name)
    print("Barcode Data:", result.code_text)

Klassen BarCodeReader läser streckkodsbilden från den angivna filsökvägen. Värdet br.DecodeType.QR talar om för läsaren att leta efter QR‑koder. Metoden read_bar_codes() returnerar de upptäckta streckkodresultaten, och varje resultat visar streckkodstypen och den avkodade texten via code_type_name och code_text.

Fullständigt exempel för generering och läsning

Du kan också kombinera generering och igenkänning i ett enda skript. Detta är användbart när du vill validera den genererade QR‑koden omedelbart efter att den skapats.

from aspose.barcode import generation
from aspose.barcode import barcoderecognition as br

Data att koda i QR-koden

Ersätt detta med din faktiska Royal Mail-payload / spårnings- / etikettdata

royal_mail_data = “ROYALMAIL|TRACKING=AA123456789GB|POSTCODE=SW1A1AA”

1) Generera Royal Mail QR-kod

file_name = “royal_mail_qr.png”

generator = generation.BarcodeGenerator( generation.EncodeTypes.QR, royal_mail_data )

generator.save(file_name, generation.BarCodeImageFormat.PNG)

print(“QR Code generated:”, file_name)

2) Läs Royal Mail QR-kod

reader = br.BarCodeReader(file_name, br.DecodeType.QR)

for result in reader.read_bar_codes(): print(“Barcode Type:”, result.code_type_name) print(“Barcode Data:”, result.code_text)

Det här kompletta skriptet skapar först en QR‑kod‑bild med namnet royal_mail_qr.png. Det laddar sedan samma bild med BarCodeReader, avkodar QR‑koden och skriver ut streckkodstypen samt den kodade datan.

Validera den avkodade QR‑koddata

För post- och fraktarbetsflöden är det en bra praxis att validera varje genererad QR‑kod innan den skrivs ut eller skickas till ett annat system. Du kan jämföra det avkodade resultatet med den ursprungliga nyttolasten:

for result in reader.read_bar_codes():
    if result.code_text == royal_mail_data:
        print("QR code validation passed.")
    else:
        print("QR code validation failed.")

Detta enkla valideringssteg hjälper till att bekräfta att den genererade QR‑bilden innehåller samma data som din applikation avsåg att koda.

Hantera olika QR‑kod bildformat

Exemplen ovan sparar QR‑koden som PNG eftersom PNG är ett förlustfritt bildformat och vanligtvis är ett bra val för utskrifts‑ och skanningsarbetsflöden. Aspose.BarCode kan också spara streckkodsbilder i andra stödda format vid behov.

FormatAnvändningsfall
PNGFörlustfri utdata för utskrift och skanning
JPGMindre filer där lätt kompression är acceptabel
BMPEnkel bitmap-utdata för äldre system
GIFLättviktig bildutdata för grundläggande användningsfall
TIFFArkiverings- eller högupplösta dokumentarbetsflöden

För att ändra bildformatet, uppdatera det andra argumentet i save()‑metoden. Till exempel, använd motsvarande värde från generation.BarCodeImageFormat.

Bästa praxis för Royal Mail QR‑kod arbetsflöden

  • Använd exakt det payload-format som krävs av ditt Royal Mail-, frakt- eller etikettgenereringsflöde.
  • Håll QR‑kodbilden klar, med hög kontrast och fri från förvrängning.
  • Föredra förlustfria format som PNG för utskrivna etiketter.
  • Avkoda den genererade bilden efter skapandet för att verifiera den kodade payloaden.
  • Spara både den ursprungliga payloaden och det avkodade resultatet i loggar när du felsöker etikettproblem.

Vanliga API‑klasser som används

Följande Aspose.BarCode for Python via .NET‑klasser och värden används i den här artikeln:

APIPurpose
generation.BarcodeGeneratorGenererar streckkodsbilder.
generation.EncodeTypes.QRAnger QR‑kod som streckkodstyp för generering.
generation.BarCodeImageFormat.PNGSparar den genererade streckkodsbilden som PNG.
br.BarCodeReaderLäser streckkodsbilder.
br.DecodeType.QRAnger QR‑kod som streckkodstyp för igenkänning.
read_bar_codes()Returnerar detekterade streckkodresultat från bilden.
result.code_textHämtar den avkodade streckkodstexten.
result.code_type_nameHämtar namnet på den detekterade streckkodstypen.

Slutsats

Du kan generera och läsa Royal Mail QR‑koder i Python med bara några rader kod med hjälp av Aspose.BarCode for Python via .NET. Använd generation.BarcodeGenerator med generation.EncodeTypes.QR för att skapa QR‑koden, spara den med generation.BarCodeImageFormat.PNG och använd sedan br.BarCodeReader med br.DecodeType.QR för att avkoda den genererade bilden.

Detta genererings- och igenkännandeflöde är användbart för att validera QR‑koder innan de skrivs ut på postetiketter, lagras i fraktssystem eller skickas till efterföljande logistiska applikationer.

Vanliga frågor

  • Vad är det enklaste sättet att generera en Royal Mail QR-kod i Python?
    Använd generation.BarcodeGenerator med generation.EncodeTypes.QR, skicka din Royal Mail‑relaterade payload‑text och spara resultatet med generator.save().

  • Hur läser jag en Royal Mail QR‑kod bild i Python?
    Använd br.BarCodeReader(file_name, br.DecodeType.QR) och loopa igenom resultaten som returneras av read_bar_codes().

  • Vilken egenskap returnerar den avkodade QR‑kodtexten?
    Använd result.code_text för att hämta det avkodade värdet från varje streckkodigenkänningsresultat.

  • Kan jag använda den här koden för Royal Mail Mailmark?
    Inte direkt. Den här artikeln använder standard QR‑kodgenerering och -igenkänning. Royal Mail Mailmark är en separat poststreckkodstyp med sin egen obligatoriska datastruktur.

Läs mer