إنشاء رموز 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 لبريد رويال ميل:

  1. استورد مساحة الاسم generation من aspose.barcode.
  2. حضّر نص الحمولة الخاص بـ Royal Mail الذي تريد ترميزه.
  3. أنشئ كائن BarcodeGenerator.
  4. عيّن نوع الباركود إلى generation.EncodeTypes.QR.
  5. احفظ صورة رمز 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)، يمكنك قراءته مرة أخرى للتحقق من صحة البيانات المشفرة. اتبع الخطوات التالية:

  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 تم إنشاؤه قبل طباعته أو إرساله إلى نظام آخر. يمكنك مقارنة النتيجة المفكوكة مع الحمولة الأصلية:

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 هو نوع منفصل من الباركود البريدي له هيكله البياني المطلوب الخاص.

اقرأ المزيد