pdf / TEMPLATE_USAGE_GUIDE.md
fokan's picture
Upload 35 files
86fce4f verified

دليل استخدام نظام تحويل template.docx مع خط Arial المحلي

🎯 نظرة عامة

تم تطوير نظام متقدم لتحويل ملف template.docx إلى PDF مع الحفاظ على أحجام الخطوط المحددة واستخدام خط Arial من مجلد fonts المحلي.

📁 هيكل المشروع

pdf/
├── fonts/
│   └── arial.ttf          # خط Arial المحلي
├── template.docx          # الملف المراد تحويله
├── app.py                 # التطبيق الرئيسي
├── test_template_conversion.py  # ملف الاختبار
└── TEMPLATE_USAGE_GUIDE.md      # هذا الدليل

🔤 أحجام الخطوط المحددة

حجم 12 نقطة:

  • {{serial_number}} - الرقم التسلسلي
  • {{t_11}} - المتغير t_11
  • {{t_}} - المتغير t_
  • {{date}} - التاريخ
  • النصوص: "الرقم التسلسلي"، "الساعة"، "التاريخ"

حجم 13 نقطة:

  • {{name_1}}, {{name_2}}, {{name_3}} - الأسماء
  • {{id_1}}, {{id_2}} - أرقام الهوية
  • {{location_1}}, {{location_2}}, {{location_3}} - المواقع
  • {{phone_1}}, {{phone_2}} - أرقام الهاتف
  • النصوص: "اسم المالك الشرعي"، "الطرف الاول"، "البائع"، "رقم الهوية"، "الطرف الثاني"، "المشتري"، "يسكن"، "رقم الهاتف"

حجم 14 نقطة:

  • النصوص: "الطرف البائع"، "الطرف المشتري"

حجم 12 نقطة (افتراضي):

  • جميع النصوص الأخرى في الملف

⚙️ الميزات الجديدة

1. استخدام خط Arial المحلي

  • يتم تحميل خط Arial من مجلد fonts/arial.ttf
  • يتم تثبيته في النظام تلقائياً
  • يحصل على أولوية عالية في تكوين الخطوط

2. تحليل أحجام الخطوط

  • تحليل تلقائي لملف template.docx
  • استخراج أحجام الخطوط لكل نص
  • تطبيق الأحجام المحددة حسب المحتوى

3. معالجة مسبقة متقدمة

  • تطبيق خط Arial على جميع النصوص
  • تعديل أحجام الخطوط حسب المواصفات
  • حفظ التنسيق الأصلي

🚀 كيفية الاستخدام

1. التحضير

# تأكد من وجود خط Arial
ls fonts/arial.ttf

# تأكد من وجود ملف template.docx
ls template.docx

2. تشغيل الاختبارات

python test_template_conversion.py

3. تشغيل التطبيق

python app.py

4. رفع الملف

  • افتح واجهة Gradio
  • ارفع ملف template.docx
  • انتظر التحويل
  • حمل ملف PDF الناتج

🔧 التكوين التقني

إعدادات الخطوط

<!-- في fontconfig -->
<alias>
  <family>Arial</family>
  <prefer>
    <family>Arial</family>
    <family>Liberation Sans</family>
  </prefer>
</alias>

إعدادات LibreOffice

<!-- الخطوط الافتراضية -->
<prop oor:name="Standard">
  <value>Arial;Liberation Sans;DejaVu Sans</value>
</prop>

معالجة أحجام الخطوط

# حجم 12 (24 نصف نقطة)
doc_content = re.sub(
    r'(<w:r[^>]*>.*?' + pattern + r'.*?<w:sz w:val=")[^"]*(")',
    r'\g<1>24\g<2>',
    doc_content
)

📊 مراقبة الجودة

مؤشرات النجاح

  • ✅ تثبيت خط Arial المحلي
  • ✅ تحليل أحجام الخطوط
  • ✅ تطبيق الأحجام المحددة
  • ✅ حفظ التنسيق الأصلي
  • ✅ جودة PDF عالية

التحقق من النتائج

# فحص الخط المستخدم
fc-list | grep Arial

# فحص ملف PDF
python -c "
import fitz
doc = fitz.open('output.pdf')
for page in doc:
    text_dict = page.get_text('dict')
    # فحص أحجام الخطوط
"

🐛 استكشاف الأخطاء

مشاكل شائعة

  1. خط Arial غير موجود

    # تأكد من وجود الملف
    ls -la fonts/arial.ttf
    
  2. أحجام خطوط خاطئة

    # فحص تحليل الخطوط
    from app import analyze_template_font_sizes
    mapping = analyze_template_font_sizes('template.docx')
    print(mapping)
    
  3. فشل التحويل

    # فحص LibreOffice
    libreoffice --version
    
    # فحص الخطوط المتاحة
    fc-list | grep -i arial
    

📈 تحسينات مستقبلية

  • دعم خطوط إضافية
  • واجهة لتخصيص أحجام الخطوط
  • معاينة مباشرة للتغييرات
  • تصدير إعدادات الخطوط

📞 الدعم

للحصول على المساعدة:

  1. تشغيل ملف الاختبار أولاً
  2. فحص رسائل الخطأ
  3. التأكد من وجود جميع الملفات المطلوبة
  4. مراجعة هذا الدليل

ملاحظة: هذا النظام مصمم خصيصاً لملف template.docx مع المواصفات المحددة. للملفات الأخرى، قد تحتاج إلى تعديل إعدادات أحجام الخطوط.