Generowanie kodów QR jest powszechnym wymogiem w aplikacjach pocztowych, transportowych i logistycznych. Jeśli Twoja aplikacja Python musi utworzyć kod QR zawierający dane związane z Royal Mail, takie jak wartość śledzenia, wartość routingu, kod pocztowy lub niestandardowy ładunek pocztowy, możesz użyć Aspose.BarCode for Python via .NET, aby wygenerować obraz QR i odczytać go w celu weryfikacji.

W tym artykule utworzymy kod QR Royal Mail w języku Python, a następnie odczytamy wygenerowany obraz kodu QR. Przykłady kodu podzielone są na dwie wyraźne sekcje: jedną dla generowania kodu QR i drugą dla odczytu kodu QR.

Uwaga: W tym artykule „Royal Mail QR code” oznacza standardowy kod QR, który przechowuje dane ładunkowe związane z Royal Mail. Jeśli potrzebujesz Royal Mail Mailmark, jest to inny typ kodu pocztowego i wymaga określonej struktury danych Mailmark.

Zainstaluj Aspose.BarCode for Python via .NET

Zainstaluj pakiet Aspose.BarCode z PyPI, używając następującego polecenia:

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

Po instalacji możesz używać interfejsu API generowania do tworzenia obrazów kodów kreskowych oraz interfejsu API rozpoznawania do odczytywania obrazów kodów kreskowych.

Kroki generowania kodu QR Royal Mail w Pythonie

Postępuj zgodnie z poniższymi krokami, aby wygenerować kod QR Royal Mail:

  1. Zaimportuj przestrzeń nazw generation z aspose.barcode.
  2. Przygotuj tekst ładunku Royal Mail, który chcesz zakodować.
  3. Utwórz obiekt BarcodeGenerator.
  4. Ustaw typ kodu kreskowego na generation.EncodeTypes.QR.
  5. Zapisz wygenerowany obraz kodu QR przy użyciu generation.BarCodeImageFormat.PNG.

Generowanie kodu QR Royal Mail w Pythonie

Poniższy przykład kodu pokazuje, jak wygenerować kod QR Royal Mail i zapisać go jako obraz PNG.

from aspose.barcode import generation

Dane do zakodowania w kodzie QR

Zastąp to rzeczywistymi danymi ładunku / śledzenia / etykiety Royal Mail

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

Generuj kod QR Royal Mail

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]-->

W tym przykładzie klasa `BarcodeGenerator` tworzy kod QR z podanego tekstu. Wartość `generation.EncodeTypes.QR` określa, że wyjściowy kod kreskowy musi być kodem QR. Na koniec metoda `save()` eksportuje wygenerowany obraz kodu kreskowego jako plik PNG.

Możesz zastąpić przykładową wartość `royal_mail_data` rzeczywistym ładunkiem Royal Mail. Na przykład możesz zakodować numer śledzenia, identyfikator etykiety, kod pocztowy lub inną wartość pocztową wymaganą przez Twoją aplikację.

## Kroki do odczytania kodu QR Royal Mail w Pythonie

Po wygenerowaniu kodu QR możesz go odczytać, aby zweryfikować, czy zakodowane dane są poprawne. Postępuj zgodnie z poniższymi krokami:

1. Zaimportuj przestrzeń nazw `barcoderecognition` z `aspose.barcode`.
2. Utwórz instancję `BarCodeReader` i przekaż ścieżkę do obrazu kodu QR.
3. Ustaw typ kodu kreskowego na `br.DecodeType.QR`.
4. Wywołaj `read_bar_codes()`, aby wyodrębnić wyniki kodów kreskowych.
5. Odczytaj zdekodowany tekst z właściwości `code_text`.

## Odczytaj kod QR Royal Mail w Pythonie

Poniższy przykład kodu pokazuje, jak odczytać wygenerowany obraz kodu QR Royal Mail.

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

Odczytaj kod QR Royal Mail

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)

Klasa BarCodeReader odczytuje obraz kodu kreskowego z określonej ścieżki pliku. Wartość br.DecodeType.QR informuje czytnik, aby szukał kodów QR. Metoda read_bar_codes() zwraca wykryte wyniki kodów kreskowych, a każdy wynik udostępnia typ kodu i zdekodowany tekst za pomocą code_type_name i code_text.

Pełny przykład generowania i odczytu

Możesz także połączyć generowanie i rozpoznawanie w jednym skrypcie. Jest to przydatne, gdy chcesz od razu po wygenerowaniu kodu QR zweryfikować go.

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

# Dane do zakodowania w kodzie QR
# Zastąp to rzeczywistymi danymi ładunku / śledzenia / etykiety Royal Mail
royal_mail_data = "ROYALMAIL|TRACKING=AA123456789GB|POSTCODE=SW1A1AA"

# 1) Wygeneruj kod QR Royal Mail
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) Odczytaj kod QR Royal Mail
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)

Ten kompletny skrypt najpierw tworzy obraz kodu QR o nazwie royal_mail_qr.png. Następnie ładuje ten sam obraz przy użyciu BarCodeReader, dekoduje kod QR i wypisuje typ kodu kreskowego oraz zakodowane dane.

Zweryfikuj zdekodowane dane kodu QR

W przepływach pracy pocztowych i wysyłkowych dobrą praktyką jest weryfikacja każdego wygenerowanego kodu QR przed jego wydrukowaniem lub wysłaniem do innego systemu. Można porównać wynik dekodowania z oryginalnym ładunkiem:

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

Ten prosty krok weryfikacji pomaga potwierdzić, że wygenerowany obraz QR zawiera te same dane, które Twoja aplikacja zamierzała zakodować.

Obsługa różnych formatów obrazów kodów QR

Powyższe przykłady zapisują kod QR jako PNG, ponieważ PNG jest formatem obrazu bezstratnym i zazwyczaj jest dobrym wyborem dla procesów drukowania i skanowania. Aspose.BarCode może również zapisywać obrazy kodów kreskowych w innych obsługiwanych formatach, gdy jest to wymagane.

FormatZastosowanie
PNGBezstratny wynik do drukowania i skanowania
JPGMniejsze pliki, gdzie dopuszczalne jest lekkie kompresowanie
BMPProsty wynik bitmapowy dla starszych systemów
GIFLekki wynik obrazu dla podstawowych zastosowań
TIFFArchiwalne lub wysokiej rozdzielczości przepływy dokumentów

Aby zmienić format obrazu, zaktualizuj drugi argument metody save(). Na przykład użyj odpowiedniej wartości z generation.BarCodeImageFormat.

Najlepsze praktyki dotyczące przepływów pracy kodów QR Royal Mail

  • Użyj dokładnego formatu ładunku wymaganego przez Twój przepływ pracy Royal Mail, wysyłki lub generowania etykiet.
  • Utrzymuj obraz kodu QR wyraźny, o wysokim kontraście i wolny od zniekształceń.
  • Preferuj formaty bezstratne, takie jak PNG, dla drukowanych etykiet.
  • Zdekoduj wygenerowany obraz po jego utworzeniu, aby zweryfikować zakodowany ładunek.
  • Przechowuj zarówno oryginalny ładunek, jak i zdekodowany wynik w logach podczas rozwiązywania problemów z etykietami.

Wspólne klasy API używane

W tym artykule użyto następujących klas i wartości Aspose.BarCode for Python via .NET:

APIPurpose
generation.BarcodeGeneratorGeneruje obrazy kodów kreskowych.
generation.EncodeTypes.QROkreśla QR Code jako typ kodu kreskowego do generowania.
generation.BarCodeImageFormat.PNGZapisuje wygenerowany obraz kodu kreskowego w formacie PNG.
br.BarCodeReaderOdczytuje obrazy kodów kreskowych.
br.DecodeType.QROkreśla QR Code jako typ kodu kreskowego do rozpoznawania.
read_bar_codes()Zwraca wykryte wyniki kodów kreskowych z obrazu.
result.code_textPobiera zdekodowany tekst kodu kreskowego.
result.code_type_namePobiera nazwę wykrytego typu kodu kreskowego.

Podsumowanie

Możesz generować i odczytywać kody QR Royal Mail w Pythonie przy użyciu zaledwie kilku linii kodu, korzystając z Aspose.BarCode for Python via .NET. Użyj generation.BarcodeGenerator z generation.EncodeTypes.QR, aby utworzyć kod QR, zapisz go przy użyciu generation.BarCodeImageFormat.PNG, a następnie użyj br.BarCodeReader z br.DecodeType.QR, aby zdekodować wygenerowany obraz.

Ten przepływ pracy generowania i rozpoznawania jest przydatny do weryfikacji kodów QR przed ich wydrukowaniem na etykietach pocztowych, przechowywaniem w systemach wysyłkowych lub przesłaniem do aplikacji logistycznych w dalszym etapie.

Najczęściej zadawane pytania

  • Jaki jest najprostszy sposób na wygenerowanie kodu QR Royal Mail w Pythonie?
    Użyj generation.BarcodeGenerator z generation.EncodeTypes.QR, przekaż tekst ładunku związany z Royal Mail i zapisz wynik używając generator.save().

  • Jak odczytać obraz kodu QR Royal Mail w Pythonie?
    Użyj br.BarCodeReader(file_name, br.DecodeType.QR) i przeiteruj wyniki zwrócone przez read_bar_codes().

  • Która właściwość zwraca zdekodowany tekst kodu QR?
    Użyj result.code_text, aby uzyskać zdekodowaną wartość z każdego wyniku rozpoznawania kodu kreskowego.

  • Czy mogę używać tego kodu do Royal Mail Mailmark?
    Nie bezpośrednio. Ten artykuł używa standardowego generowania i rozpoznawania kodów QR. Royal Mail Mailmark jest osobnym typem kodu pocztowego z własną wymaganą strukturą danych.

Czytaj więcej