إنشاء رموز QR هو طلب شائع في تطبيقات البريد والشحن واللوجستيات. إذا كان تطبيق Python الخاص بك يحتاج إلى إنشاء رمز QR يحتوي على بيانات متعلقة بـ Royal Mail، مثل قيمة التتبع، قيمة التوجيه، الرمز البريدي، أو حمولة بريدية مخصصة، يمكنك استخدام Aspose.BarCode for Python via .NET لتوليد صورة QR وقراءتها مرة أخرى للتحقق.
في هذه المقالة، سنقوم بإنشاء رمز QR للبريد الملكي باستخدام بايثون ثم فك تشفير صورة رمز QR التي تم إنشاؤها. تم تقسيم أمثلة الشيفرة إلى قسمين واضحين: أحدهما لتوليد رمز QR والآخر لقراءة رمز QR.
ملاحظة: في هذه المقالة، يعني “Royal Mail QR code” رمز QR قياسي يخزن بيانات حمولة متعلقة بـ Royal Mail. إذا كنت بحاجة إلى Royal Mail Mailmark، فهذا نوع مختلف من الباركود البريدي ويتطلب بنية بيانات Mailmark محددة.
تثبيت Aspose.BarCode for Python via .NET
قم بتثبيت حزمة Aspose.BarCode من PyPI باستخدام الأمر التالي:
pip install aspose-barcode-for-python-via-net
بعد التثبيت، يمكنك استخدام واجهة برمجة التطبيقات للتوليد لإنشاء صور الباركود وواجهة برمجة التطبيقات للتعرف لقراءة صور الباركود.
خطوات إنشاء رمز QR للبريد الملكي في بايثون
اتبع الخطوات التالية لإنشاء رمز QR لبريد رويال ميل:
- استورد مساحة الاسم
generationمنaspose.barcode. - حضّر نص الحمولة الخاص بـ Royal Mail الذي تريد ترميزه.
- أنشئ كائن
BarcodeGenerator. - عيّن نوع الباركود إلى
generation.EncodeTypes.QR. - احفظ صورة رمز QR المُولدة باستخدام
generation.BarCodeImageFormat.PNG.
إنشاء رمز QR للبريد الملكي في 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.
يمكنك استبدال القيمة التجريبية لـ royl_mail_data ببيانات Royal Mail الفعلية الخاصة بك. على سبيل المثال، قد تقوم بترميز رقم تتبع أو معرف ملصق أو رمز بريدي أو أي قيمة بريدية أخرى مطلوبة من قبل تطبيقك.
خطوات قراءة رمز QR الخاص بـ Royal Mail في Python
بعد إنشاء رمز الاستجابة السريعة (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 تم إنشاؤه قبل طباعته أو إرساله إلى نظام آخر. يمكنك مقارنة النتيجة المفكوكة مع الحمولة الأصلية:
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 Code المختلفة
الأمثلة أعلاه تحفظ رمز QR كملف PNG لأن PNG هو تنسيق صورة غير مضغوط وعادةً ما يكون خيارًا جيدًا لعمليات الطباعة والمسح الضوئي. يمكن لـ Aspose.BarCode أيضًا حفظ صور الباركود بتنسيقات أخرى مدعومة عند الحاجة.
| الصيغة | حالة الاستخدام |
|---|---|
| PNG | إخراج بدون فقدان للطباعة والمسح الضوئي |
| JPG | ملفات أصغر حيث يكون الضغط الطفيف مقبولًا |
| BMP | إخراج بت ماب بسيط للأنظمة القديمة |
| GIF | إخراج صورة خفيف الوزن للاستخدامات الأساسية |
| TIFF | أرشفة أو سير عمل مستندات عالية الدقة |
لتغيير تنسيق الصورة، قم بتحديث الوسيط الثاني لطريقة save(). على سبيل المثال، استخدم القيمة المقابلة من generation.BarCodeImageFormat.
أفضل الممارسات لتدفقات عمل QR Code لبريد رويال
- استخدم تنسيق الحمولة الدقيق المطلوب من قبل Royal Mail أو عمليات الشحن أو سير عمل إنشاء الملصقات.
- حافظ على وضوح صورة QR وتباينها العالي وخلوها من التشوه.
- يفضَّل استخدام صيغ غير مضغوطة مثل PNG للملصقات المطبوعة.
- فك تشفير الصورة المُولَّدة بعد إنشائها للتحقق من الحمولة المشفرة.
- احفظ كلًا من الحمولة الأصلية والنتيجة المفكوكة في السجلات عند استكشاف مشكلات الملصقات.
الفئات الشائعة المستخدمة في API
الفئات والقيم التالية من Aspose.BarCode for Python via .NET تُستخدم في هذه المقالة:
| API | الغرض |
|---|---|
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 في بايثون؟
استخدم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 القياسية. Royal Mail Mailmark هو نوع منفصل من الباركود البريدي له هيكله البياني المطلوب الخاص.
