 
  - بواسطة MostafaAbdRabbu ||
السلام عليكم
تعلمت بايثون منذ فترة قريبة، فيها مميزات كثيرة جدا، وحاليا أصمم بها تطبيقات بسيطة، ولكن تواجهني مشكلة متكررة لم أجد لها حلا
أي مخرجات باللغة العربية تكون رديئة للغاية
 
صممت برنامج بسيط للفواتير، الناتج النهائي يخرج PDF لا يدعم الحروف العربية
وبرنامج استخراج الكلمات من ملفات PDF تخرج الكلمات مليئة بالأخطاء
 
حاولت كثيرا ولم أجد حلا، أفيدوني رجاء
 
وشكرا
 تعلمت بايثون منذ فترة قريبة، فيها مميزات كثيرة جدا، وحاليا أصمم بها تطبيقات بسيطة، ولكن تواجهني مشكلة متكررة لم أجد لها حلا
أي مخرجات باللغة العربية تكون رديئة للغاية
صممت برنامج بسيط للفواتير، الناتج النهائي يخرج PDF لا يدعم الحروف العربية
وبرنامج استخراج الكلمات من ملفات PDF تخرج الكلمات مليئة بالأخطاء
حاولت كثيرا ولم أجد حلا، أفيدوني رجاء
وشكرا
 
  - بواسطة lbebulk ||
استخدم مكتبة arabic-reshaper مع bidi.algorithm لتهيئة النص العربي بشكل صحيح
    شوف كده السكريبت ده .. أقرب لأنشاء فواتير
    
  Code: 
 pip install reportlab arabic-reshaper python-bidi Python: 
 from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Paragraph
from reportlab.lib.styles import getSampleStyleSheet
import arabic_reshaper
from bidi.algorithm import get_display
# إعداد الملف
pdf = SimpleDocTemplate("فاتورة.pdf", pagesize=letter, rightToLeft=True)
styles = getSampleStyleSheet()
style = styles["Normal"]
style.fontName = "Arial"  # تأكد من أن لديك خط عربي (مثل Arial أو تحميل خط آخر)
style.fontSize = 12
style.alignment = 2  # محاذاة لليمين
# النص العربي
text = "فاتورة بيع\nالمنتج: كتاب\nالسعر: 100 ريال"
reshaped_text = arabic_reshaper.reshape(text)  # إعادة تشكيل الحروف
bidi_text = get_display(reshaped_text)  # ضبط الاتجاه
# إنشاء الفقرة وإضافتها للملف
content = [Paragraph(bidi_text, style)]
pdf.build(content)
print("تم إنشاء الفاتورة بنجاح!") 
  - بواسطة MostafaAbdRabbu ||
 
  - بواسطة x32x01 ||
حل المشكلة هى انك تقوم بتنزيل خط مجاني مثل "Amiri" أو "Cairo" من مواقع مثل Google Fonts
سجل الخط في reportlab باستخدام
    
 سجل الخط في reportlab باستخدام
 Python: 
 from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
pdfmetrics.registerFont(TTFont("Amiri", "Amiri-Regular.ttf"))
style.fontName = "Amiri" التعديل الأخير:  
 المواضيع ذات الصلة
 الدخول أو التسجيل السريع
 -  كتاب دليلك المُختصر لبيع المُنتجات الرّقمية- x32x01
- التحديث:
 
-  كتاب الدّليل المُختصر لصفحات الهبوط (Landing Pages)- x32x01
- التحديث:
 
-  دورة EJPTv2 من شرح م/أحمد سلطان - Ethical Hacking- x32x01
- التحديث:
 
-  ملخص كورس 200 -301 CCNA للـ م/ عبير حسنى- x32x01
- التحديث:
 
-  كتاب تعلم برمجة Node.JS- x32x01
- التحديث:
 
-  تعلم لغة برمجة ++C من البداية إلى البرمجة الكائنية- x32x01
- التحديث:
 
-  كتاب لشرح ChatGPT خطوة بخطوة- x32x01
- التحديث:
 
-  كتاب تطبيقات الذكاء الأصطناعي في خدمة اللغة العربية- x32x01
- التحديث:
 
-  كتاب أكثر من 100 أداة لزيادة إنتاجية الأعمال- x32x01
- التحديث:
 
-  التحريك عبر CSS- x32x01
- التحديث:
 
إحصائيات المنتدى
 - المواضيع
- 1,907
- المشاركات
- 2,107
- أعضاء أكتب كود
- 477
- أخر عضو
- مرعي
