اذهب إلى المحتوى
  • 0

جدول بي دي إف

كمال شلبي

السؤال

السلام عليكم

أحاول أن أعمل جدول باللغة العربية ولكن الداتا garbage كما أن الأرقام لا تظهر بالعربي بل بالانجليزية.

مرفق الجدول والبرنامج

 

جدول.pdf tables.py

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

في البداية يوجد خطأ عند تطبيقك الخط على محتويات الجدول أي عند انشاء كائن من الـTableStyle:

('FONTNAME', (0, 0), (-1, -1), 'Arabic')

بهذا تكون قد حلت مشكلة عدم فهم وتشفير اللغة العربية

أما بالنسبة للأرقام فيمكنك إنشاء التابع البسيط التالي للتحويل:

def convert_to_arabic(number):
    arabic_digits = {
        '0': '٠',
        '1': '١',
        '2': '٢',
        '3': '٣',
        '4': '٤',
        '5': '٥',
        '6': '٦',
        '7': '٧',
        '8': '٨',
        '9': '٩'
    }
    arabic_number = ''
    for digit in number:
        if digit.isdigit():
            arabic_number += arabic_digits[digit]
        else:
            arabic_number += digit
    return arabic_number

ومن ثم استخدامه بالشكل التالي:

reshaped_data = [
    [ get_display(reshape(convert_to_arabic(cell))) for cell in row ] for row in mydata
]

لتظهر النتيجة بالشكل التالي 
photo_2024-05-03_12-59-55.jpg.d972741d4f07b7079ddea8541ef7c5e0.jpg

وتم ارفاق الكود كامل في المرفقات

وتأكد من تنزيل المكاتب التالية قبل التشغيل :
 

pip install reportlab
pip install arabic_reshaper
pip install python-bidi

 

arabic_tables.py

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ On 3‏/5‏/2024 at 23:04 قال Ali Ibrahim12:

في البداية يوجد خطأ عند تطبيقك الخط على محتويات الجدول أي عند انشاء كائن من الـTableStyle:

('FONTNAME', (0, 0), (-1, -1), 'Arabic')

بهذا تكون قد حلت مشكلة عدم فهم وتشفير اللغة العربية

أما بالنسبة للأرقام فيمكنك إنشاء التابع البسيط التالي للتحويل:

def convert_to_arabic(number):
    arabic_digits = {
        '0': '٠',
        '1': '١',
        '2': '٢',
        '3': '٣',
        '4': '٤',
        '5': '٥',
        '6': '٦',
        '7': '٧',
        '8': '٨',
        '9': '٩'
    }
    arabic_number = ''
    for digit in number:
        if digit.isdigit():
            arabic_number += arabic_digits[digit]
        else:
            arabic_number += digit
    return arabic_number

ومن ثم استخدامه بالشكل التالي:

reshaped_data = [
    [ get_display(reshape(convert_to_arabic(cell))) for cell in row ] for row in mydata
]

لتظهر النتيجة بالشكل التالي 
photo_2024-05-03_12-59-55.jpg.d972741d4f07b7079ddea8541ef7c5e0.jpg

وتم ارفاق الكود كامل في المرفقات

وتأكد من تنزيل المكاتب التالية قبل التشغيل :
 

pip install reportlab
pip install arabic_reshaper
pip install python-bidi

 

arabic_tables.py 3.16 kB · 

بارك الله فيك. ولكن أريد الجدول من اليمين إلى اليسار ليس كما هو مرفق

1 تنزيل

جدول.pdf

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...