توليد تقارير PDF باستخدام PHP: نظرة عامة على المكتبات وأمثلة الكود

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

توليد تقارير PDF باستخدام PHP: دليل شامل للمطور



إنشاء مستندات PDF هي إحدى المهام الأكثر طلبًا في تطوير الويب. التقارير، الفواتير، الشهادات، المواد التعليمية - كل هذا غالبًا ما يحتاج إلى توليد ديناميكي على جانب الخادم. تقدم PHP عدة مكتبات قوية تسمح بإنشاء PDF بأي درجة من التعقيد. في هذه المقالة، سنستعرض أربع أدوات شائعة: TCPDF، FPDF، Dompdf و mPDF، وسنقدم أمثلة عملية للكود.



لماذا نحتاج إلى توليد PDF في PHP؟

PDF (Portable Document Format) هو تنسيق عالمي يعرض بشكل صحيح على أي جهاز. في المشاريع التعليمية، مثل PythonLib، يمكن استخدام تقارير PDF من أجل:

  • تصدير نتائج الاختبارات والامتحانات
  • إنشاء شهادات إتمام الدورات
  • توليد أدلة تعليمية وملخصات
  • إعداد تقارير إحصائية للمعلمين


نظرة عامة على المكتبات الشائعة



1. TCPDF

TCPDF هي واحدة من أقوى وأقدم المكتبات للعمل مع PDF في PHP. تدعم:

  • مجموعة كاملة من ميزات PDF 1.7
  • تضمين الخطوط (بما في ذلك Unicode والسيريلية)
  • رسم الرسوم البيانية، الجداول، رموز QR
  • دعم CSS (بشكل محدود)

مثال على الاستخدام الأساسي:

require_once('tcpdf/tcpdf.php');

$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);$pdf->SetCreator('PythonLib');$pdf->SetAuthor('المطور');$pdf->SetTitle('تقرير الاختبار');

$pdf->AddPage();$pdf->SetFont('dejavusans', '', 14);$pdf->Cell(0, 10, 'مرحباً بالعالم! هذا تقرير PDF.', 0, 1, 'C');

$pdf->Output('report.pdf', 'I');


2. FPDF

FPDF هي مكتبة خفيفة وسريعة، مثالية للمستندات البسيطة. ميزاتها الرئيسية:

  • لا تتطلب تبعيات خارجية
  • API بسيط لإضافة النصوص والصور والخطوط
  • دعم UTF-8 من خلال حزم إضافية

مثال على إنشاء جدول:

require('fpdf/fpdf.php');

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 16);$pdf->Cell(40, 10, 'الاسم', 1);$pdf->Cell(40, 10, 'الدرجات', 1);$pdf->Ln();$pdf->SetFont('Arial', '', 12);$pdf->Cell(40, 10, 'إيفان', 1);$pdf->Cell(40, 10, '95', 1);$pdf->Output();


3. Dompdf

Dompdf تسمح بتحويل HTML+CSS إلى PDF. هذا مفيد إذا كنت تستخدم بالفعل محركات القوالب (مثل Twig). الإمكانيات:

  • دعم CSS 2.1 وجزئياً CSS3
  • العمل مع الصور والخطوط
  • تكامل بسيط مع تطبيقات الويب

مثال مع قالب HTML:

use Dompdf\\Dompdf;

$dompdf = new Dompdf();$html = '<h2 style="color:blue;">تقرير دورة Python</h2> <p>الطالب: أليكسي، النتيجة: 87%</p>';$dompdf->loadHtml($html, 'UTF-8');$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream('report.pdf');


4. mPDF

mPDF هي مكتبة أخرى لتحويل HTML إلى PDF. تدعم الأنماط المعقدة، Unicode، وكذلك:

  • إنشاء جدول المحتويات تلقائياً
  • العلامات المائية والخلفيات
  • العمل مع كميات كبيرة من البيانات

مثال مع ورقة الأنماط:

require_once __DIR__ . '/vendor/autoload.php';

$mpdf = new \\Mpdf\\Mpdf();$mpdf->WriteHTML('<h1>الإحصائيات</h1>

توصيات