Learn how to create Bangla PDFs in PHP 7.4 using mPDF, including SolaimanLipi font registration, watermark setup, and UTF-8 support.

PHP 7.4 ব্যবহারকারীদের জন্য mPDF দিয়ে Bangla ফন্ট যুক্ত PDF তৈরি করা একটু tricky। কারণ পুরনো mPDF ভার্সন স্বয়ংক্রিয়ভাবে Bangla ফন্ট রেজিস্টার করে না।

প্রধান ধাপসমূহ:

  1. SolaimanLipi ফন্ট রেজিস্টার করা
    config_fonts.php ফাইলে ফন্ট যুক্ত করুন:


 

"solaimanlipi" => array( 'R' => "SolaimanLipi.ttf", 'B' => "SolaimanLipi-Bold.ttf", 'useOTL' => 0xFF, ),

  1. TTF ফন্ট ফাইল আপলোড করা
    ফন্ট ফাইলগুলো আপলোড করুন এই পাথে:
    \invoice\library\mpdf\vendor\mpdf\mpdf\ttfonts

  2. mPDF ইনস্ট্যান্স তৈরি করা (পুরনো PHP 7.4 মোডেল)


 

$mpdf = new mPDF('', 'A4', '', '', 10, 10, 10, 10, 0, 0); $mpdf->SetFont('solaimanlipi'); // Bangla font ব্যবহার

  1. Watermark যোগ করা (Optional)


 

$mpdf->SetWatermarkImage('path_to_image.png', 0.05, 'P', array(0,0)); $mpdf->showWatermarkImage = true; $mpdf->SetWatermarkText('Demo PDF'); $mpdf->showWatermarkText = true;

  1. UTF-8 সমর্থন করা
    Bangla টেক্সট সঠিকভাবে দেখানোর জন্য HTML-এ <meta charset="UTF-8"> ব্যবহার করুন।

  2. PDF আউটপুট করা


 

$mpdf->WriteHTML($html_content); $mpdf->Output('document.pdf', 'I');

FAQ:

  1. কেন PHP 7.4 এ Bangla ফন্ট সহজে আসে না?
    পুরনো mPDF স্বয়ংক্রিয়ভাবে TTF ফন্ট লোড করে না, তাই ম্যানুয়ালি ফন্ট রেজিস্টার করতে হয়।

  2. আমি অন্য Bangla ফন্ট ব্যবহার করতে পারি কি?
    হ্যাঁ, ফন্ট TTF ফাইল আপলোড করে config_fonts.php এ রেজিস্টার করলে অন্য ফন্টও ব্যবহার করা যায়।

  3. Watermark কিভাবে যোগ করবেন?
    $mpdf->SetWatermarkImage() বা $mpdf->SetWatermarkText() ব্যবহার করে।

  4. Purono mPDF কি PHP 8 এ কাজ করবে?
    না, পুরনো mPDF PHP 7.4 এর জন্য optimized, PHP 8 এ compatibility issue হতে পারে।

সোর্স কোড ডাউনলোড:
GitHub Link