تولید کدهای QR یک نیاز رایج در برنامه‌های پست، حمل و نقل و لجستیک است. اگر برنامه Python شما نیاز دارد کد QR ای ایجاد کند که شامل داده‌های مرتبط با Royal Mail باشد، مانند مقدار ردیابی، مقدار مسیریابی، کد پستی یا بار سفارشی پستی، می‌توانید از Aspose.BarCode for Python via .NET برای تولید تصویر QR و خواندن آن برای تأیید استفاده کنید.

در این مقاله، یک کد QR پست سلطنتی را با پایتون ایجاد می‌کنیم و سپس تصویر کد QR تولید شده را رمزگشایی می‌کنیم. مثال‌های کد به دو بخش واضح تقسیم شده‌اند: یک بخش برای تولید کد QR و بخش دیگر برای خواندن کد QR.

توجه: در این مقاله، «کد QR پست سلطنتی» به معنای یک کد QR استاندارد است که داده‌های مرتبط با پست سلطنتی را ذخیره می‌کند. اگر به Mailmark پست سلطنتی نیاز دارید، این یک نوع بارکد پستی متفاوت است و به ساختار داده خاص Mailmark نیاز دارد.

نصب Aspose.BarCode for Python via .NET

با استفاده از فرمان زیر، بسته Aspose.BarCode را از PyPI نصب کنید:

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

پس از نصب، می‌توانید از API تولید برای ایجاد تصاویر بارکد و از API تشخیص برای خواندن تصاویر بارکد استفاده کنید.

مراحل تولید کد QR پست سلطنتی در پایتون

برای تولید یک کد QR پست سلطنتی، مراحل زیر را دنبال کنید:

  1. فضای نام generation را از aspose.barcode وارد کنید.
  2. متن بارگذاری Royal Mail را که می‌خواهید رمزگذاری کنید، آماده کنید.
  3. یک شیء BarcodeGenerator ایجاد کنید.
  4. نوع بارکد را به generation.EncodeTypes.QR تنظیم کنید.
  5. تصویر QR کد تولید شده را با استفاده از generation.BarCodeImageFormat.PNG ذخیره کنید.

تولید کد QR پست سلطنتی در پایتون

مثال کد زیر نشان می‌دهد که چگونه یک کد 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 را با بار واقعی Royal Mail خود جایگزین کنید. به عنوان مثال، ممکن است یک شماره پیگیری، شناسه برچسب، کدپستی یا مقدار پستی دیگری که برنامه شما به آن نیاز دارد، رمزگذاری کنید.

مراحل خواندن کد QR پست سلطنتی در پایتون

پس از تولید کد QR، می‌توانید آن را بخوانید تا تأیید کنید که داده‌های رمزگذاری‌شده صحیح هستند. این مراحل را دنبال کنید:

  1. فضای نام barcoderecognition را از aspose.barcode وارد کنید.
  2. یک نمونه BarCodeReader ایجاد کنید و مسیر تصویر QR کد را به آن پاس دهید.
  3. نوع بارکد را به br.DecodeType.QR تنظیم کنید.
  4. برای استخراج نتایج بارکد، read_bar_codes() را فراخوانی کنید.
  5. متن رمزگشایی شده را از ویژگی code_text بخوانید.

خواندن کد QR Royal Mail در پایتون

مثال کد زیر نشان می‌دهد که چگونه تصویر کد 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 تولید شده را بلافاصله پس از ایجاد آن اعتبارسنجی کنید.

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 تولید شده به سیستم دیگر، هر کد 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 کد پست سلطنتی

  • از قالب دقیق payload مورد نیاز برای Royal Mail، حمل‌ونقل یا جریان کار تولید برچسب استفاده کنید.
  • تصویر QR کد را واضح، با کنتراست بالا و بدون اعوجاج نگه دارید.
  • برای برچسب‌های چاپی، فرمت‌های بدون افت کیفیت مانند PNG را ترجیح دهید.
  • پس از ایجاد، تصویر تولید شده را رمزگشایی کنید تا payload رمزگذاری‌شده را تأیید کنید.
  • هنگام رفع مشکلات برچسب، هر دو payload اصلی و نتیجهٔ رمزگشایی‌شده را در لاگ‌ها ذخیره کنید.

کلاس‌های عمومی 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) را در پایتون تنها با چند خط کد تولید و خوانده کنید با استفاده از Aspose.BarCode for Python via .NET. از generation.BarcodeGenerator همراه با generation.EncodeTypes.QR برای ایجاد کد QR استفاده کنید، آن را با generation.BarCodeImageFormat.PNG ذخیره کنید، و سپس با br.BarCodeReader و br.DecodeType.QR تصویر تولید شده را رمزگشایی کنید.

این جریان کار تولید و شناسایی برای اعتبارسنجی کدهای QR قبل از چاپ آن‌ها بر روی برچسب‌های پستی، ذخیره‌سازی در سیستم‌های حمل‌ونقل یا ارسال به برنامه‌های لجستیک پایین‌دست مفید است.

سوالات متداول

  • به آسان‌ترین روش برای تولید کد QR Royal Mail در پایتون چیست؟
    از generation.BarcodeGenerator با generation.EncodeTypes.QR استفاده کنید، متن payload مربوط به Royal Mail خود را پاس کنید، و خروجی را با استفاده از generator.save() ذخیره کنید.

  • چگونه می‌توانم تصویر کد QR Royal Mail را در پایتون بخوانم؟
    از br.BarCodeReader(file_name, br.DecodeType.QR) استفاده کنید و در نتایجی که توسط read_bar_codes() برگردانده می‌شود، حلقه بزنید.

  • کدام ویژگی متن کد QR رمزگشایی شده را برمی‌گرداند؟
    از result.code_text برای دریافت مقدار رمزگشایی شده از هر نتیجه تشخیص بارکد استفاده کنید.

  • آیا می‌توانم از این کد برای Royal Mail Mailmark استفاده کنم؟
    به‌طور مستقیم نیست. این مقاله از تولید و شناسایی استاندارد QR Code استفاده می‌کند. Royal Mail Mailmark یک نوع بارکد پستی جداگانه با ساختار داده‌ای مورد نیاز خود است.

بیشتر بخوانید