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:
- Importujte obor názvů
generationzaspose.barcode. - Připravte text payloadu Royal Mail, který chcete zakódovat.
- Vytvořte objekt
BarcodeGenerator. - Nastavte typ čárového kódu na
generation.EncodeTypes.QR. - 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ů:
- Importujte obor názvů
barcoderecognitionzaspose.barcode. - Vytvořte instanci
BarCodeReadera předáte cestu k obrázku QR kódu. - Nastavte typ čárového kódu na
br.DecodeType.QR. - Zavolejte
read_bar_codes()pro získání výsledků čárových kódů. - 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át | Případ použití |
|---|---|
| PNG | Bezeztrátový výstup pro tisk a skenování |
| JPG | Menší soubory, kde je mírná komprese přijatelná |
| BMP | Jednoduchý bitmapový výstup pro starší systémy |
| GIF | Lehké obrázkové výstupy pro základní případy použití |
| TIFF | Archivní 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.BarcodeGenerator | Generuje obrázky čárových kódů. |
generation.EncodeTypes.QR | Určuje QR kód jako typ čárového kódu pro generování. |
generation.BarCodeImageFormat.PNG | Ukládá vygenerovaný obrázek čárového kódu ve formátu PNG. |
br.BarCodeReader | Čte obrázky čárových kódů. |
br.DecodeType.QR | Urč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_text | Získá dekódovaný text čárového kódu. |
result.code_type_name | Zí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žijtegeneration.BarcodeGeneratorsgeneration.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žijtebr.BarCodeReader(file_name, br.DecodeType.QR)a projděte výsledky vrácené metodouread_bar_codes().Která vlastnost vrací dekódovaný text QR kódu?
Použijteresult.code_textk 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.
