mPDF هي مكتبة PHP تقوم بإنشاء ملفات PDF من HTML بترميز UTF-8.
وهو يعتمد على FPDF وHTML2FPDF (انظر الاعتمادات)، مع عدد من التحسينات. تمت كتابة mPDF بواسطة Ian Back وتم إصداره بموجب ترخيص GNU GPL v2.
إذا كنت تعرض هذا الملف على الصفحة الرئيسية لمستودع mPDF GitHub أو على Packagist، فيرجى ملاحظة أن فرع المستودع الافتراضي هو development
والذي يمكن أن يختلف عن الإصدار المستقر الأخير.
PHP >=5.6 <7.3.0
مدعوم لـ mPDF >= 7.0
PHP 7.3
مدعوم منذ mPDF v7.1.7
PHP 7.4
مدعوم منذ mPDF v8.0.4
PHP 8.0
مدعوم منذ mPDF v8.0.10
PHP 8.1
مدعوم اعتبارًا من mPDF v8.0.13
PHP 8.2
مدعوم اعتبارًا من mPDF v8.1.3
PHP 8.3
مدعوم اعتبارًا من mPDF v8.2.1
PHP 8.4
مدعوم اعتبارًا من mPDF v8.2.5
يجب تحميل ملحقات PHP mbstring
و gd
.
قد تكون هناك حاجة إلى ملحقات إضافية لبعض الميزات المتقدمة مثل zlib
لضغط المخرجات والموارد المضمنة مثل الخطوط أو bcmath
لإنشاء الرموز الشريطية أو xml
لتحويل مجموعة الأحرف ومعالجة SVG.
يواجه mPDF بعض المشكلات في جلب موارد HTTP الخارجية باستخدام خوادم مترابطة واحدة مثل php -S
. يوصى باستخدام خادم مناسب مثل nginx (php-fpm) أو Apache.
فكر في دعم تطوير mPDF من خلال التبرع بأي قيمة. يمكن العثور على زر التبرع على الصفحة الرئيسية للوثائق.
طريقة التثبيت الرسمية هي عبر الملحن وحزمة الحزم mpdf/mpdf الخاصة به.
$ composer require mpdf/mpdf
أبسط استخدام (منذ الإصدار 7.0) للمكتبة سيكون كما يلي:
<?phprequire_once __DIR__ . '/vendor/autoload.php';$mpdf = new MpdfMpdf();$mpdf->WriteHTML('<h1>مرحبا بالعالم!</h1>');$mpdf->Output();
سيؤدي هذا إلى إخراج ملف PDF سطريًا إلى المتصفح كنوع محتوى application/pdf
.
يمكن تعيين جميع توجيهات التكوين بواسطة المعلمة $config
الخاصة بالمنشئ.
يوصى بتعيين الدليل المؤقت الخاص بك عبر متغير التكوين tempDir
. يجب أن يتمتع الدليل بأذونات الكتابة (يوصى بالوضع 775
) للمستخدمين الذين يستخدمون mPDF (عادةً cli
, webserver
, fpm
).
تحذير: سيقوم mPDF بتنظيف الملفات المؤقتة القديمة في الدليل المؤقت. اختر مسارًا مخصصًا لـ mPDF فقط.
<?php$mpdf = new MpdfMpdf(['tempDir' => __DIR__ . '/tmp']);
افتراضيًا، سيكون الدليل المؤقت داخل دليل البائع وسيكون له أذونات الكتابة من البرنامج النصي للمؤلف post_install
.
لمزيد من المعلومات حول الدليل المؤقت المخصص، راجع الملاحظة الموجودة على المجلد الخاص بالملفات المؤقتة في القسم الخاص بالتثبيت والإعداد في الدليل.
إذا كانت لديك مشكلات، فيرجى قراءة القسم الخاص باستكشاف الأخطاء وإصلاحها في الدليل.
يعد mPDF ككل برنامجًا قديمًا تمامًا. في الوقت الحاضر، تتوفر بدائل أفضل، وإن لم تكن مكتوبة بلغة PHP.
استخدم mPDF إذا لم تتمكن من استخدام أسلوب غير PHP لإنشاء ملفات PDF أو إذا كنت ترغب في الاستفادة من بعض فوائد mPDF على أسلوب المتصفح - معالجة الألوان، والطباعة المسبقة، ودعم الرموز الشريطية، والرؤوس والتذييلات، وترقيم الصفحات، وجداول المحتويات، وما إلى ذلك ولكن احذر من أن قالب HTML/CSS المخصص لـ mPDF قد يكون ضروريًا.
إذا كنت تبحث عن دعم CSS متطور، وعكس صفحات HTML الموجودة إلى PDF، فاستخدم Chrome بدون رأس.
سيستمر تحديث mPDF لتحسين بعض القدرات الداخلية ودعم الإصدارات الأحدث من PHP، ولكن من المرجح ألا يتم تنفيذ دعم CSS أفضل و/أو أحدث.
الدليل عبر الإنترنت متاح على https://mpdf.github.io/.
للأسئلة العامة أو استكشاف الأخطاء وإصلاحها، يرجى استخدام المناقشات.
يمكنك أيضًا استخدام علامة mpdf في Stack Overflow حيث من المرجح أن تجيب قاعدة مستخدمي StackOverflow عليك في الوقت المناسب.
قبل تقديم المشكلات وطلبات السحب، يرجى قراءة ملف CONTRIBUTING.md.
يتم إجراء اختبار الوحدة لـ mPDF باستخدام PHPUnit.
للبدء، قم بتشغيل composer install
من سطر الأوامر أثناء وجودك في الدليل الجذر لـ mPDF (ستحتاج إلى تثبيت الملحن أولاً).
لتنفيذ الاختبارات، قم بتشغيل composer test
من سطر الأوامر أثناء وجودك في الدليل الجذر لـ mPDF.
أي مساعدة في اختبارات وحدة الكتابة لـ mPDF هي موضع تقدير كبير. إذا كنت ترغب في المساعدة، يرجى ملاحظة أن أي ملف PHP موجود في الدليل /tests/
سيتم تحميله تلقائيًا عند اختبار الوحدة.