Generování QR kódů je běžnou požadavkem v poštovních, přepravních a logistických aplikacích. Pokud vaše Python aplikace potřebuje vytvořit QR kód, který obsahuje data související s Royal Mail, jako je sledovací hodnota, hodnota směrování, poštovní směrovací číslo nebo vlastní poštovní náklad, můžete použít Aspose.BarCode for Python via .NET k vygenerování QR obrázku a jeho zpětnému načtení pro ověření.

V tomto článku vytvoříme QR kód Royal Mail v Pythonu a poté dekódujeme vygenerovaný obrázek QR kódu. Příklady kódu jsou rozděleny do dvou přehledných sekcí: jedna pro generování QR kódu a druhá pro čtení QR kódu.

Poznámka: V tomto článku termín „Royal Mail QR code“ označuje standardní QR kód, který ukládá data související s Royal Mail. Pokud potřebujete Royal Mail Mailmark, jedná se o jiný typ poštovního čárového kódu a vyžaduje specifickou datovou strukturu Mailmark.

Instalace Aspose.BarCode for Python via .NET

Nainstalujte balíček Aspose.BarCode z PyPI pomocí následujícího příkazu:

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

Po instalaci můžete použít API pro generování k vytvoření obrázků čárových kódů a API pro rozpoznávání k načtení obrázků čárových kódů.

Kroky k vytvoření QR kódu Royal Mail v Pythonu

Postupujte podle těchto kroků k vygenerování QR kódu Royal Mail:

  1. Importujte obor názvů generation z aspose.barcode.
  2. Připravte text payloadu Royal Mail, který chcete zakódovat.
  3. Vytvořte objekt BarcodeGenerator.
  4. Nastavte typ čárového kódu na generation.EncodeTypes.QR.
  5. Uložte vygenerovaný obrázek QR kódu pomocí generation.BarCodeImageFormat.PNG.

Vygenerovat QR kód Royal Mail v Pythonu

Následující ukázkový kód ukazuje, jak vygenerovat QR kód Royal Mail a uložit jej jako PNG obrázek.

from aspose.barcode import generation

# Data to encode in the QR code
# Replace this with your actual Royal Mail payload / tracking / label data
royal_mail_data = "ROYALMAIL|TRACKING=AA123456789GB|POSTCODE=SW1A1AA"

# Generate Royal Mail QR Code
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)

V tomto příkladu třída BarcodeGenerator vytváří QR kód z dodaného textu. Hodnota generation.EncodeTypes.QR určuje, že výstupní čárový kód musí být QR kód. Nakonec metoda save() exportuje vygenerovaný obrázek čárového kódu jako soubor PNG.

Můžete nahradit ukázkovou hodnotu royal_mail_data skutečným payloadem Royal Mail. Například můžete zakódovat sledovací číslo, identifikátor štítku, poštovní směrovací číslo nebo jinou poštovní hodnotu požadovanou vaší aplikací.

Kroky pro čtení QR kódu Royal Mail v Pythonu

Po vygenerování QR kódu jej můžete načíst zpět, abyste ověřili, že zakódovaná data jsou správná. Postupujte podle těchto kroků:

  1. Importujte obor názvů barcoderecognition z aspose.barcode.
  2. Vytvořte instanci BarCodeReader a předáte cestu k obrázku QR kódu.
  3. Nastavte typ čárového kódu na br.DecodeType.QR.
  4. Zavolejte read_bar_codes() pro získání výsledků čárových kódů.
  5. Přečtěte dekódovaný text z vlastnosti code_text.

Čtení QR kódu Royal Mail v Pythonu

Následující příklad kódu ukazuje, jak načíst vygenerovaný obrázek QR kódu Royal Mail.

from aspose.barcode import barcoderecognition as br

# Read Royal Mail QR Code
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)

Třída BarCodeReader načítá obrázek čárového kódu ze zadané cesty k souboru. Hodnota br.DecodeType.QR říká čtečce, aby hledala QR kódy. Metoda read_bar_codes() vrací detekované výsledky čárových kódů a každý výsledek poskytuje typ čárového kódu a dekódovaný text prostřednictvím code_type_name a code_text.

Kompletní příklad generování a čtení

Můžete také kombinovat generování a rozpoznávání v jediném skriptu. To je užitečné, když chcete okamžitě po vytvoření ověřit vygenerovaný QR kód.

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

# Data to encode in the QR code
# Replace this with your actual Royal Mail payload / tracking / label data
royal_mail_data = "ROYALMAIL|TRACKING=AA123456789GB|POSTCODE=SW1A1AA"

# 1) Generate Royal Mail QR Code
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) Read Royal Mail QR Code
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)

Tento kompletní skript nejprve vytvoří obrázek QR kódu s názvem royal_mail_qr.png. Poté načte stejný obrázek pomocí BarCodeReader, dekóduje QR kód a vypíše typ čárového kódu a zakódovaná data.

Ověřte data dekódovaného QR kódu

Pro poštovní a přepravní pracovní postupy je dobrým zvykem ověřit každý vygenerovaný QR kód před jeho tiskem nebo odesláním do jiného systému. Můžete porovnat dekódovaný výsledek s původním obsahem:

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.")

Tento jednoduchý validační krok pomáhá potvrdit, že vygenerovaný QR obrázek obsahuje stejná data, která vaše aplikace zamýšlela kódovat.

Zpracování různých formátů obrázků QR kódu

Výše uvedené příklady ukládají QR kód jako PNG, protože PNG je bezztrátový formát obrázku a obvykle je dobrá volba pro tiskové a skenovací pracovní postupy. Aspose.BarCode může také ukládat obrázky čárových kódů v jiných podporovaných formátech podle potřeby.

FormátPřípad použití
PNGBezeztrátový výstup pro tisk a skenování
JPGMenší soubory, kde je mírná komprese přijatelná
BMPJednoduchý bitmapový výstup pro starší systémy
GIFLehké obrázkové výstupy pro základní případy použití
TIFFArchivní nebo vysoce rozlišené pracovní postupy dokumentů

Chcete‑li změnit formát obrázku, aktualizujte druhý argument metody save(). Například použijte odpovídající hodnotu z generation.BarCodeImageFormat.

Nejlepší postupy pro pracovní postupy QR kódu Royal Mail

  • Použijte přesný formát užitečného zatížení požadovaný vaším pracovním postupem pro Royal Mail, přepravu nebo generování štítků.
  • Udržujte obrázek QR kódu čistý, s vysokým kontrastem a bez zkreslení.
  • Upřednostňujte bezztrátové formáty, jako je PNG, pro tištěné štítky.
  • Po vytvoření dekódujte vygenerovaný obrázek, abyste ověřili zakódované užitečné zatížení.
  • Ukládejte jak původní užitečné zatížení, tak dekódovaný výsledek do protokolů při řešení problémů se štítky.

Používané společné třídy API

V tomto článku jsou použity následující třídy a hodnoty Aspose.BarCode for Python via .NET:

APIÚčel
generation.BarcodeGeneratorGeneruje obrázky čárových kódů.
generation.EncodeTypes.QRUrčuje QR kód jako typ čárového kódu pro generování.
generation.BarCodeImageFormat.PNGUkládá vygenerovaný obrázek čárového kódu ve formátu PNG.
br.BarCodeReaderČte obrázky čárových kódů.
br.DecodeType.QRUrčuje QR kód jako typ čárového kódu pro rozpoznání.
read_bar_codes()Vrací výsledky detekovaných čárových kódů z obrázku.
result.code_textZíská dekódovaný text čárového kódu.
result.code_type_nameZíská název detekovaného typu čárového kódu.

Závěr

Můžete generovat a číst QR kódy Royal Mail v Pythonu pomocí několika řádků kódu s využitím Aspose.BarCode for Python via .NET. Použijte generation.BarcodeGenerator s generation.EncodeTypes.QR k vytvoření QR kódu, uložte jej pomocí generation.BarCodeImageFormat.PNG a poté použijte br.BarCodeReader s br.DecodeType.QR k dekódování vygenerovaného obrázku.

Tento workflow generování a rozpoznávání je užitečný pro ověřování QR kódů před jejich tiskem na poštovní štítky, uložením v přepravních systémech nebo odesláním do následných logistických aplikací.

FAQs

  • Jaký je nejjednodušší způsob, jak v Pythonu vygenerovat QR kód Royal Mail?
    Použijte generation.BarcodeGenerator s generation.EncodeTypes.QR, předávejte text payload související s Royal Mail a uložte výstup pomocí generator.save().

  • Jak mohu v Pythonu načíst obrázek QR kódu Royal Mail?
    Použijte br.BarCodeReader(file_name, br.DecodeType.QR) a projděte výsledky vrácené metodou read_bar_codes().

  • Která vlastnost vrací dekódovaný text QR kódu?
    Použijte result.code_text k získání dekódované hodnoty z každého výsledku rozpoznání čárového kódu.

  • Mohu použít tento kód pro Royal Mail Mailmark?
    Ne přímo. Tento článek používá standardní generování a rozpoznávání QR kódu. Royal Mail Mailmark je samostatný typ poštovního čárového kódu s vlastní požadovanou datovou strukturou.

Číst dál