# دليل استخدام نظام تحويل 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. التحضير ```bash # تأكد من وجود خط Arial ls fonts/arial.ttf # تأكد من وجود ملف template.docx ls template.docx ``` ### 2. تشغيل الاختبارات ```bash python test_template_conversion.py ``` ### 3. تشغيل التطبيق ```bash python app.py ``` ### 4. رفع الملف - افتح واجهة Gradio - ارفع ملف `template.docx` - انتظر التحويل - حمل ملف PDF الناتج ## 🔧 التكوين التقني ### إعدادات الخطوط ```xml Arial Arial Liberation Sans ``` ### إعدادات LibreOffice ```xml Arial;Liberation Sans;DejaVu Sans ``` ### معالجة أحجام الخطوط ```python # حجم 12 (24 نصف نقطة) doc_content = re.sub( r'(]*>.*?' + pattern + r'.*?24\g<2>', doc_content ) ``` ## 📊 مراقبة الجودة ### مؤشرات النجاح - ✅ تثبيت خط Arial المحلي - ✅ تحليل أحجام الخطوط - ✅ تطبيق الأحجام المحددة - ✅ حفظ التنسيق الأصلي - ✅ جودة PDF عالية ### التحقق من النتائج ```python # فحص الخط المستخدم 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 غير موجود** ```bash # تأكد من وجود الملف ls -la fonts/arial.ttf ``` 2. **أحجام خطوط خاطئة** ```python # فحص تحليل الخطوط from app import analyze_template_font_sizes mapping = analyze_template_font_sizes('template.docx') print(mapping) ``` 3. **فشل التحويل** ```bash # فحص LibreOffice libreoffice --version # فحص الخطوط المتاحة fc-list | grep -i arial ``` ## 📈 تحسينات مستقبلية - [ ] دعم خطوط إضافية - [ ] واجهة لتخصيص أحجام الخطوط - [ ] معاينة مباشرة للتغييرات - [ ] تصدير إعدادات الخطوط ## 📞 الدعم للحصول على المساعدة: 1. تشغيل ملف الاختبار أولاً 2. فحص رسائل الخطأ 3. التأكد من وجود جميع الملفات المطلوبة 4. مراجعة هذا الدليل --- **ملاحظة**: هذا النظام مصمم خصيصاً لملف `template.docx` مع المواصفات المحددة. للملفات الأخرى، قد تحتاج إلى تعديل إعدادات أحجام الخطوط.