تولید کدهای 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 پست سلطنتی، مراحل زیر را دنبال کنید:
- فضای نام
generationرا ازaspose.barcodeوارد کنید. - متن بارگذاری Royal Mail را که میخواهید رمزگذاری کنید، آماده کنید.
- یک شیء
BarcodeGeneratorایجاد کنید. - نوع بارکد را به
generation.EncodeTypes.QRتنظیم کنید. - تصویر 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، میتوانید آن را بخوانید تا تأیید کنید که دادههای رمزگذاریشده صحیح هستند. این مراحل را دنبال کنید:
- فضای نام
barcoderecognitionرا ازaspose.barcodeوارد کنید. - یک نمونه
BarCodeReaderایجاد کنید و مسیر تصویر QR کد را به آن پاس دهید. - نوع بارکد را به
br.DecodeType.QRتنظیم کنید. - برای استخراج نتایج بارکد،
read_bar_codes()را فراخوانی کنید. - متن رمزگشایی شده را از ویژگی
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 استفاده شده است:
| API | Purpose |
|---|---|
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 یک نوع بارکد پستی جداگانه با ساختار دادهای مورد نیاز خود است.
