Генерування QR‑кодів є поширеною вимогою в поштових, транспортних та логістичних застосунках. Якщо ваш Python‑застосунок потребує створити QR‑код, що містить дані, пов’язані з Royal Mail, такі як значення відстеження, значення маршруту, поштовий індекс або власний поштовий корисний навантаження, ви можете використати Aspose.BarCode for Python via .NET для створення QR‑зображення та його зчитування для перевірки.

У цій статті ми створимо QR‑код Royal Mail за допомогою Python, а потім розшифруємо створене зображення QR‑коду. Приклади коду розділені на два чіткі розділи: один для генерації QR‑коду, інший — для читання QR‑коду.

Примітка: У цій статті “Royal Mail QR code” означає стандартний QR Code, який зберігає дані корисного навантаження, пов’язані з Royal Mail. Якщо вам потрібен Royal Mail Mailmark, це інший тип поштового штрихкоду і вимагає специфічної структури даних Mailmark.

Встановити Aspose.BarCode for Python via .NET

Встановіть пакет Aspose.BarCode з PyPI, використовуючи наступну команду:

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

Після встановлення ви можете використовувати API генерації для створення зображень штрих‑коду та API розпізнавання для читання зображень штрих‑коду.

Кроки для створення QR-коду Royal Mail у Python

Виконайте наступні кроки, щоб згенерувати QR‑код Royal Mail:

  1. Імпортуйте простір імен generation з aspose.barcode.
  2. Підготуйте текст навантаження Royal Mail, який ви хочете закодувати.
  3. Створіть об’єкт BarcodeGenerator.
  4. Встановіть тип штрихкоду в generation.EncodeTypes.QR.
  5. Збережіть згенероване зображення QR‑коду, використовуючи generation.BarCodeImageFormat.PNG.

Генерація QR-коду Royal Mail у Python

У наведеному прикладі коду показано, як згенерувати QR‑код Royal Mail і зберегти його у вигляді PNG‑зображення.

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)

У цьому прикладі клас BarcodeGenerator створює QR‑код із заданого тексту. Значення generation.EncodeTypes.QR вказує, що вихідний штрих‑код має бути QR‑кодом. Нарешті, метод save() експортує згенероване зображення штрих‑коду у файл PNG.

Ви можете замінити зразкове значення royal_mail_data на ваш реальний payload Royal Mail. Наприклад, ви можете кодувати номер відстеження, ідентифікатор етикетки, поштовий індекс або інше поштове значення, необхідне вашому застосунку.

Кроки для читання QR‑коду Royal Mail у Python

Після створення QR‑коду ви можете зчитати його назад, щоб переконатися, що закодовані дані правильні. Виконайте наступні кроки:

  1. Імпортуйте простір імен barcoderecognition з aspose.barcode.
  2. Створіть екземпляр BarCodeReader і передайте шлях до зображення QR‑коду.
  3. Встановіть тип штрихкоду в br.DecodeType.QR.
  4. Викличте read_bar_codes(), щоб отримати результати штрихкоду.
  5. Прочитайте декодований текст із властивості code_text.

Зчитування QR-коду Royal Mail у Python

Наступний приклад коду показує, як прочитати згенероване зображення QR‑коду 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)

Клас BarCodeReader читає зображення штрихкоду з вказаного шляху до файлу. Значення br.DecodeType.QR вказує читачу шукати QR‑коди. Метод read_bar_codes() повертає виявлені результати штрихкоду, і кожен результат надає тип штрихкоду та декодований текст через code_type_name і code_text.

Повний приклад генерації та читання

Ви також можете поєднати генерацію та розпізнавання в одному скрипті. Це корисно, коли ви хочете негайно перевірити згенерований QR‑code одразу після його створення.

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)

Цей повний скрипт спочатку створює зображення QR‑коду з назвою royal_mail_qr.png. Потім він завантажує те саме зображення за допомогою BarCodeReader, розшифровує QR‑код і виводить тип штрихкоду та закодовані дані.

Перевірте дані декодованого QR-коду

Для поштових та транспортних робочих процесів рекомендується перевіряти кожен згенерований QR‑код перед друком або надсиланням його в іншу систему. Ви можете порівняти декодований результат з оригінальним навантаженням:

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

Цей простий крок перевірки допомагає підтвердити, що згенероване QR‑зображення містить ті ж дані, які ваш додаток планував закодувати.

Обробка різних форматів зображень QR-коду

Наведені вище приклади зберігають QR‑код у форматі PNG, оскільки PNG — це безвтратний формат зображень і зазвичай є хорошим вибором для процесів друку та сканування. Aspose.BarCode також може зберігати зображення штрих‑коду в інших підтримуваних форматах за потреби.

ФорматВипадок використання
PNGБез втрат вихідних даних для друку та сканування
JPGМенші файли, де допустиме невелике стиснення
BMPПростий бітмап вихід для застарілих систем
GIFЛегкий вивід зображень для базових випадків використання
TIFFАрхівні або високороздільні робочі процеси документів

Щоб змінити формат зображення, оновіть другий аргумент методу save(). Наприклад, використайте відповідне значення з generation.BarCodeImageFormat.

Кращі практики для робочих процесів QR-кодів Royal Mail

  • Використовуйте точний формат корисного навантаження, який вимагає ваш робочий процес Royal Mail, доставки або генерації етикеток.
  • Тримайте зображення QR‑коду чітким, з високим контрастом і без спотворень.
  • Віддавайте перевагу безвтратним форматам, таким як PNG, для друкованих етикеток.
  • Декодуйте згенероване зображення після створення, щоб перевірити закодоване навантаження.
  • Зберігайте як оригінальне навантаження, так і декодований результат у журналах під час усунення проблем з етикетками.

Загальні класи API, що використовуються

У цій статті використані наступні класи та значення Aspose.BarCode for Python via .NET:

APIPurpose
generation.BarcodeGeneratorГенерує зображення штрих-кодів.
generation.EncodeTypes.QRВказує QR-код як тип штрих-коду для генерації.
generation.BarCodeImageFormat.PNGЗберігає згенероване зображення штрих-коду у форматі PNG.
br.BarCodeReaderЧитає зображення штрих-кодів.
br.DecodeType.QRВказує QR-код як тип штрих-коду для розпізнавання.
read_bar_codes()Повертає результати виявлених штрих-кодів з зображення.
result.code_textОтримує декодований текст штрих-коду.
result.code_type_nameОтримує назву типу виявленого штрих-коду.

Висновок

Ви можете генерувати та зчитувати QR‑коди Royal Mail у Python, використовуючи лише кілька рядків коду та Aspose.BarCode for Python via .NET. Використовуйте generation.BarcodeGenerator з generation.EncodeTypes.QR для створення QR‑коду, збережіть його за допомогою generation.BarCodeImageFormat.PNG, а потім використайте br.BarCodeReader з br.DecodeType.QR для розшифрування створеного зображення.

Цей процес генерації та розпізнавання корисний для перевірки QR‑кодів перед їх друком на поштових етикетках, зберіганням у системах доставки або надсиланням у нижчестоящі логістичні застосунки.

Часті питання

  • Який найпростіший спосіб згенерувати QR‑код Royal Mail у Python?
    Використовуйте generation.BarcodeGenerator з generation.EncodeTypes.QR, передайте ваш текст навантаження, пов’язаний з Royal Mail, і збережіть результат за допомогою generator.save().

  • Як прочитати зображення QR‑коду Royal Mail у Python?
    Використовуйте br.BarCodeReader(file_name, br.DecodeType.QR) і перебирайте результати, повернуті read_bar_codes().

  • Яка властивість повертає декодований текст QR‑коду?
    Використовуйте result.code_text, щоб отримати декодоване значення з кожного результату розпізнавання штрихкоду.

  • Чи можу я використовувати цей код для Royal Mail Mailmark?
    Не безпосередньо. У цій статті використовується стандартне генерування та розпізнавання QR Code. Royal Mail Mailmark — це окремий тип поштового штрихкоду зі своєю необхідною структурою даних.

Читати далі