HOW TO GENERATE ARABIC PDF USING TCPDF
Dec 20, 2024 Copy Link
السلام عليكم 🤵
جاي بعد غياب طويل بمقالة بسيطة و هتكلم عن مشكلة كل العرب بيقابلوها في لارفيل و هي إن إزاي تطبع PDF عربي من غير اي مشكلة في ال encoding 🌐
هنستخدم باكدج TCPDF في الموضوع دا, تعالوا الأول نعملّها install عن طريق ال command دا 👇
composer require tecnickcom/tcpdf
و دلوقتي بقا جه وقت الكود 👨💻
use App\Models\User;
use TCPDF;
class PDFController extends Controller
{
public function generate(User $user)
{
$filename = "{$user->name}.pdf";
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetTitle($user->name);
$pdf->setRTL(true);
$pdf->SetFont('aefurat', '', 16);
$pdf->AddPage();
$html = view('user.show', compact('user'))->render();
$pdf->writeHTML($html, true, false, true, false, '');
// Preview the PDF without storing and downloading it
$pdf->Output(public_path($filename));
// Store the PDF as a file then download it
// $pdf->Output(public_path($filename), 'F');
// Download the PDF directly without storing it
// $pdf->Output(public_path($filename), 'D');
// > [!NOTE]
// > You can also create a mix between two of these flags...
return response()->download(public_path($filename));
}
}
خلي بالك ان الباكدج دي sensitive في ال HTML Tags فا لو نسيت تقفل تاج او كتبته غلط هيطلعلك Exception.
و دا example خاص بالباكدج توضح ازاي تعمل كدا بشكل مُفصل اكتر...🧐
و بكدا أكون خلصت و أتمني تكون إستفدت ✔