PHP 7.4 ব্যবহারকারীদের জন্য mPDF দিয়ে Bangla ফন্ট যুক্ত PDF তৈরি করা একটু tricky। কারণ পুরনো mPDF ভার্সন স্বয়ংক্রিয়ভাবে Bangla ফন্ট রেজিস্টার করে না।
প্রধান ধাপসমূহ:
-
SolaimanLipi ফন্ট রেজিস্টার করা
config_fonts.phpফাইলে ফন্ট যুক্ত করুন:
"solaimanlipi" => array( 'R' => "SolaimanLipi.ttf", 'B' => "SolaimanLipi-Bold.ttf", 'useOTL' => 0xFF, ),
-
TTF ফন্ট ফাইল আপলোড করা
ফন্ট ফাইলগুলো আপলোড করুন এই পাথে:
\invoice\library\mpdf\vendor\mpdf\mpdf\ttfonts -
mPDF ইনস্ট্যান্স তৈরি করা (পুরনো PHP 7.4 মোডেল)
$mpdf = new mPDF('', 'A4', '', '', 10, 10, 10, 10, 0, 0); $mpdf->SetFont('solaimanlipi'); // Bangla font ব্যবহার
-
Watermark যোগ করা (Optional)
$mpdf->SetWatermarkImage('path_to_image.png', 0.05, 'P', array(0,0)); $mpdf->showWatermarkImage = true; $mpdf->SetWatermarkText('Demo PDF'); $mpdf->showWatermarkText = true;
-
UTF-8 সমর্থন করা
Bangla টেক্সট সঠিকভাবে দেখানোর জন্য HTML-এ<meta charset="UTF-8">ব্যবহার করুন। -
PDF আউটপুট করা
$mpdf->WriteHTML($html_content); $mpdf->Output('document.pdf', 'I');
FAQ:
-
কেন PHP 7.4 এ Bangla ফন্ট সহজে আসে না?
পুরনো mPDF স্বয়ংক্রিয়ভাবে TTF ফন্ট লোড করে না, তাই ম্যানুয়ালি ফন্ট রেজিস্টার করতে হয়। -
আমি অন্য Bangla ফন্ট ব্যবহার করতে পারি কি?
হ্যাঁ, ফন্ট TTF ফাইল আপলোড করেconfig_fonts.phpএ রেজিস্টার করলে অন্য ফন্টও ব্যবহার করা যায়। -
Watermark কিভাবে যোগ করবেন?
$mpdf->SetWatermarkImage()বা$mpdf->SetWatermarkText()ব্যবহার করে। -
Purono mPDF কি PHP 8 এ কাজ করবে?
না, পুরনো mPDF PHP 7.4 এর জন্য optimized, PHP 8 এ compatibility issue হতে পারে।
সোর্স কোড ডাউনলোড:
GitHub Link