Loading...
การใช้ mpdf ภาษาไทย ใน laravel 9
ผู้เขียน : กฤษฎาพงษ์ สุตะ
เผยแพร่เมื่อ : 5 พฤศจิกายน 2565 22:47:06 ปรับปรุงเมื่อ : 6 พฤศจิกายน 2565 14:17:27
ลิงก์ : https://www.ef101.xyz/บทความ/การใช้-mpdf-ภาษาไทย-ใน-laravel-9

การติดตั้ง mpdf ลงใน Laravel 9

เนื่องจาก mpdf ใช้ psr/log ^1.0.0 | ^2.0.0

Laravel 9 ใช้ psr/log ^1.0.0 | ^2.0.0 | ^3.0.0 แต่ติดตั้ง psr/log  ^3.0.0 ไว้

การจะติดตั้ง จึงต้อง down version psr/log จาก 3.x.x -> 2.x.x โดยใช้ พารามิเตอร์ -W มาช่วย

 

composer require mpdf/mpdf -W

 

การใช้งาน ฟอนต์ภาษาไทย โดย นำฟอนต์เก็บไว้ที่ public/fonts

  • กำหนด fontDir เป็น public_path(‘fonts’)
  • ชื่อฟอนต์ใน fontData ต้องเป็นตัวพิมพ์เล็ก เช่น sarabunit9

 

$defaultConfig = (new \Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];

$defaultFontConfig = (new \Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];

$mpdf = new \Mpdf\Mpdf([
    'fontDir' => array_merge($fontDirs, [
         public_path('fonts'),
      ]),
    'fontdata' => $fontData + [
        'sarabunit9' => [
                    'R' => 'THSarabunIT9.ttf',
                    'B' => 'THSarabunIT9Bold.ttf',
                    'I' => 'THSarabunIT9Italic.ttf',
                    'BI' => 'THSarabunIT9BoldItalic.ttf',
          ],
      ],
      'default_font' => 'sarabunit9',
       'default_font_size' => 16,
]);

$mpdf->WriteHTML('<h1>ภาษาไทย! 123456</h1>');
$mpdf->WriteHTML('Hello 1234');
$mpdf->Output();
ความคิดเห็น :
เข้าสู่ระบบก่อนจึงจะแสดงความคิดเห็นได้
Sign in with Google Sign in with Facebook Sign in with Github