This is an example of a PDF document generated using Laravel and DomPDF.
يعد إنشاء مستندات PDF مطلبًا شائعًا في تطبيقات الويب، خاصة لإنشاء الفواتير والإيصالات والشهادات والتذاكر والتقارير المتنوعة. في هذا البرنامج التعليمي الشامل، سنتعمق في استخدام Laravel وDomPDF لإنشاء مستندات PDF تحتوي على صور وCSS. سنغطي خيارات التكوين واعتبارات التصميم وحجم المخرجات والأداء واستعلامات قاعدة البيانات. بالإضافة إلى ذلك، سنناقش النصائح والحيل للتعامل مع فواصل الصفحات، وتحميل الصور باستخدام base64، والمزيد.
قبل أن نبدأ، تأكد من تثبيت ما يلي:
DomPDF هي مكتبة PHP شائعة تسمح لك بإنشاء مستندات PDF من محتوى HTML. وهو يدعم تصميم CSS والصور وخيارات التكوين المتنوعة. من خلال دمج DomPDF مع Laravel، يمكنك بسهولة إنشاء مستندات PDF متطورة باستخدام قوالب Blade وميزات Laravel القوية.
مكتبات PDF الشائعة الأخرى تشمل TCPDF، FPDF، وSnapy.
ومع ذلك، يتم استخدام DomPDF على نطاق واسع نظرًا لسهولة التكامل ومجموعة الميزات القوية.
في هذا البرنامج التعليمي، سنتعرف على عملية إعداد مشروع Laravel، وتكوين DomPDF، وإنشاء وحدة تحكم للتعامل مع إنشاء PDF، وتصميم قالب Blade لمحتوى PDF، وإضافة مسارات، وتحسين الأداء. سنناقش أيضًا خيارات التكوين المتقدمة ونقدم النصائح والحيل لإنشاء مستندات PDF عالية الجودة.
يفترض هذا البرنامج التعليمي أن لديك فهمًا أساسيًا لـ Laravel وPHP. إذا كنت جديدًا في Laravel، فكر في مراجعة وثائق Laravel الرسمية لتتعرف على إطار العمل. ومن ناحية أخرى، يمكنك متابعة Laravel Bootcamp للبدء في استخدام Laravel.
أولاً، قم بإنشاء مشروع Laravel جديد إذا لم يكن لديك مشروع بالفعل، أو استخدم مشروعًا موجودًا، بالطبع، يمكنك تخطي هذه الخطوة إذا كان لديك بالفعل مشروع Laravel.
composer create-project --prefer-dist laravel/laravel pdf-tutorial cd pdf-tutorial
بعد ذلك، قم بتثبيت DomPDF:
composer require barryvdh/laravel-dompdf
نشر ملف التكوين:
php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
افتح ملف config/dompdf.php. يحتوي ملف التكوين على خيارات متنوعة لتخصيص مخرجات PDF. هنا يمكنك تعيين خيارات متنوعة بما في ذلك حجم الورق الافتراضي والاتجاه والخط والمزيد.
'default_paper_size' => 'a4',
'orientation' => 'portrait',
'default_font' => 'serif',
إنشاء وحدة تحكم للتعامل مع إنشاء PDF:
php artisan make:controller PDFController
في app/Http/Controllers/PDFController.php، أضف الكود التالي:
'Laravel PDF Example', 'date' => date('m/d/Y'), ]; $pdf = PDF::loadView('myPDF', $data); return $pdf->download('document.pdf'); } }
إنشاء قالب Blade لمحتوى PDF:
touch resources/views/myPDF.blade.php
أضف المحتوى التالي إلى myPDF.blade.php:
Laravel PDF Example {{ $title }}
Date: {{ $date }}
This is an example of a PDF document generated using Laravel and DomPDF.
إضافة مسارات للتعامل مع إنشاء ملفات PDF في المسارات/web.php:
use App\Http\Controllers\PDFController; Route::get('generate-pdf', [PDFController::class, 'generatePDF']);
يمكنك إضافة صور إلى ملف PDF عن طريق تضمينها كسلاسل مشفرة بـ base64 أو باستخدام عناوين URL.
يمكن تضمين الصور مباشرة في قالب Blade باستخدام تشفير base64. على سبيل المثال، لتضمين صورة من الصور العامة/الصور، إليك كيفية القيام بذلك:
أو مباشرة من عنوان URL:
عند التعامل مع مجموعات بيانات كبيرة (على سبيل المثال، 1000 سجل)، استخدم ترقيم الصفحات أو التجزئة لإدارة استخدام الذاكرة:
$data = DB::table('users')->paginate(50); $pdf = PDF::loadView('myPDF', ['data' => $data]);
لتقليل حجم الإخراج، قلل من استخدام الصور الثقيلة واختر الرسومات المتجهة عندما يكون ذلك ممكنًا. استخدم أيضًا CSS الفعال.
تأكد من أن المحتوى منظم بشكل جيد لفواصل الصفحات. استخدم CSS للتعامل مع فواصل الصفحات:
.page-break { page-break-after: always; }
وفي قالب Blade الخاص بك:
لمزيد من التكوينات المتقدمة، راجع وثائق DomPDF. يمكنك تخصيص كل شيء تقريبًا، بدءًا من الهوامش وحتى طريقة تحميل الخطوط.
لاستخدام الخطوط المخصصة، قم أولاً بإضافتها إلى مشروعك وقم بتكوين DomPDF لاستخدامها:
'custom_font_dir' => base_path('resources/fonts/'), 'custom_font_data' => [ 'custom-font' => [ 'R' => 'CustomFont-Regular.ttf', 'B' => 'CustomFont-Bold.ttf', ] ],
في قالب Blade الخاص بك:
باتباع هذا الدليل التفصيلي، يمكنك إنشاء مستندات PDF متطورة باستخدام Laravel وDomPDF، مع استكمال الصور وتصميم CSS. لقد غطى هذا البرنامج التعليمي خيارات التكوين الأساسية واعتبارات التصميم وتحسين الأداء. يمكنك توسيع هذا الأساس لبناء نظام قوي لإنشاء المستندات لتطبيق Laravel الخاص بك.
هذا البرنامج التعليمي جزء من سلسلة حول إنشاء PDF باستخدام Laravel. يمكن العثور هنا على مستودع كامل يحتوي على نماذج مستندات متنوعة (الفواتير، والإيصالات، والشهادات، والتذاكر، وما إلى ذلك). لا تتردد في المساهمة وتوسيع المجموعة.
تعليمات سعيدة!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3