توليد PDF في PHP: المكتبات والأدوات وأمثلة الكود

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

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

ابدأ الدورة

توليد PDF في PHP: مراجعة المكتبات والأدوات



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



1. TCPDF — المعيار الصناعي



TCPDF هي واحدة من أقوى مكتبات توليد PDF في PHP. تدعم Unicode، وخطوط TrueType، وOpenType، والحماية بكلمة مرور، والعلامات المائية، ورموز QR، وغيرها الكثير. مثالية لإنشاء التقارير المعقدة، والفواتير، والشهادات.



التثبيت: عبر Composer: composer require tecnickcom/tcpdf



مثال لإنشاء PDF بسيط:



<?phprequire_once __DIR__ . '/vendor/autoload.php';

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf->SetCreator('PythonLib.ru');$pdf->SetAuthor('المؤلف');$pdf->SetTitle('مثال TCPDF');$pdf->SetSubject('توليد PDF');

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

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


2. FPDF — خفيفة وسريعة



FPDF هي مكتبة كلاسيكية لمستندات PDF البسيطة. لا تتطلب تثبيت إضافات إضافية، وسهلة جداً في التعلم. مناسبة لإنشاء الجداول، والتقارير البسيطة، والفواتير.



التثبيت: تحميل من fpdf.org أو عبر Composer: composer require setasign/fpdf



مثال مع جدول:



<?phprequire_once __DIR__ . '/vendor/autoload.php';

$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 12);

// رؤوس الجدول$pdf->Cell(40, 10, 'الاسم', 1);$pdf->Cell(40, 10, 'اللقب', 1);$pdf->Cell(40, 10, 'العمر', 1);$pdf->Ln();

$pdf->SetFont('Arial', '', 10);$pdf->Cell(40, 10, 'إيفان', 1);$pdf->Cell(40, 10, 'بيتروف', 1);$pdf->Cell(40, 10, '25', 1);

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


3. Dompdf — من HTML إلى PDF



Dompdf يتيح تحويل HTML+CSS إلى PDF. هذا مفيد إذا كان لديك بالفعل تخطيط صفحات (مثل فاتورة أو مقال). يدعم CSS 2.1 وجزئياً CSS 3، والخطوط، والصور.



التثبيت: composer require dompdf/dompdf



مثال لتحويل HTML:



<?phprequire_once __DIR__ . '/vendor/autoload.php';

use Dompdf\\Dompdf;

$dompdf = new Dompdf();$html = '<h1 style="color: #3498db;">عنوان PDF</h1><p>هذا المستند تم إنشاؤه من HTML باستخدام Dompdf.</p><table border="1" cellpadding="5"> <tr><th>العمود 1</th><th>العمود 2</th></tr> <tr><td>بيانات 1</td><td>بيانات 2</td></tr></table>';

$dompdf->loadHtml($html);$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream('example_dompdf.pdf', ['Attachment' => 0]);?>


4. mPDF — محول HTML قوي



mPDF هي مكتبة أخرى لتحويل HTML إلى PDF. تدعم CSS بشكل أفضل من Dompdf، وUnicode، والخطوط الشرقية، وإنشاء جدول المحتويات، والترويسة والتذييل. مناسبة تماماً للكتب، والمجلات، والمستندات المعقدة.



التثبيت: composer require mpdf/mpdf



مثال مع الترويسة والتذييل:



<?                    

توصيات