جعل dompdf يدعم اللغة العربية

كيف يتم جعل مكتبة dompdf تقبل ظهور اللغة العربية بشكل صحيح !

 

اولا ماهي مكتبة dompdf

هي مكتبة برمجية تقوم بتوليد ملفات PDF وهي تقوم بشكل مبسط على تحويل نصوص HTML الى ملفات PDF ويتم الاستعانة بها فى العديد من تطبيقات الويب والعديد من الاسكربتات والاضافات سواء لووردبريس او العديد من المنصات البرمجية الاخرى

ماهي مشكلة dompdf

المشكلة تحديداً هي ان هذه المكتبة لا تدعم ظهور اللغة العربية بشكل صحيح رغم كل المحاولات للعديد من المبرمجين بما فيهم مبرمج المكتبة فتظهر كلمة مثل

اهلا بك

بهذا الشكل

ك ب ا ل ه ا

وترجع المشكلة من بداية ظهور Dompdf وظلت المشكلة لاكثر من 3 الى 4 سنين دون حل (قبل نشرنا للحل المؤكد لدعم اللغة العربية بشكل كامل بالاستعانة بمكتبة php للغة العربية لاستاذ خالد الشمعة)

كيفية حل المشكلة

لحل مشكلة ظهور اللغة العربية فى مكتبة dompdf برجاء اتباع الخطوات التالية :

1- قم بتحميل مكتبة PHP واللغة العربية من الموقع الرسمي لها على الرابط التالي

http://www.ar-php.org

2- قم بفك الضغط عن محتويات مكتبة PHP واللغة العربية وقم برفع مجلد I18N الى المجلد الرئيسي لمكتبة dompdf

3- قم بفتح ملف text_renderer.cls.php الموجود فى هذا المسار

 \dompdf/include/text_renderer.cls.php

ابحث عن هذا السطر

 $this->_canvas->text($x, $y, $text

وقم باضافة هذا الكود قبل السطر السابق (لا تحذف السطر السابق فقط قم باضافة الكود التالي قبلة)

 if ( ! class_exists( 'I18N_Arabic' ) ){

require_once( DOMPDF_DIR . "/I18N/Arabic/Glyphs.php" );
$Arabic = new I18N_Arabic_Glyphs('Glyphs');
$text = $Arabic->utf8Glyphs($text, 150);

    }

واخيرا ستحتاج الى ضبط خط عربي فى ملف ال css الخاص بتنسيقات الصفحة
يمكنك استخدام اي خط عربي مثل هذا الخط

http://www.arfonts.net/fonts/e3lan-unicode/alhurratxtlight.zip

 

وبالاخير نود التوجه بالشكر الى الاستاذ خالد الشمعة لانشاءه مكتبة PHP واللغة العربية الرائعة التي قامت بحل العديد من صعوبات دعم اللغة العربية فى php