
ใครที่กำลังทำ Web Application และอยากที่จะทำหน้า Print out และการส่งออกเอกสารที่เป็นภาษาไทยให้ออกเป็นรูปแบบของไฟล์ PDF อยู่แล้วละก็ วันนี้ทางดูเพลินจะขอแนะนำ Library ที่มีชื่อว่า mPDF ซึ่งเป็น Library ที่ใช้งานได้ง่าย แถมยังรองรับภาษาไทยอีกด้วย เรามีตัวอย่างโค้ด และ วิธีการใช้งานมาให้เพื่อน ๆ ดูกันที่นี่เลยจ้า
ส่งออกข้อมูล Export to PDF ด้วย mPDF
ติดตั้ง Composer
ก่อนอื่นเลยคุณจำเป็นต้องติดตั้ง Composer ภายในเครื่องกันเสียก่อน วิธีการติดตั้งก็ตามด้านล่างนี้เลย
- บน Windows เข้าไปที่เว็บไซต์ https://getcomposer.org/download/ จากนั้นให้คลิกที่ Composer-Setup.exe เพื่อดาวน์โหลดไฟล์มาติดตั้ง
- บน MacOS คลิกที่นี่ เพิ่ม Download
- บน Server เข้าไปที่เว็บไซต์ https://getcomposer.org/doc/00-intro.md จากนั้นทำตามขั้นตอนที่แนะนำในหน้าเว็บกันได้เลย
โหลดฟอนต์ภาษาไทย
จากนั้นคุณต้องมีฟอนต์ภาษาไทยสำหรับออกหน้ารายงานกันก่อน หากว่าคุณยังไม่มี คลิกที่นี่ เพิ่ม Download Font ภาษาไทย เตรียมไว้ก่อน
เมื่อเตรียมการตามด้านบนเสร็จแล้วคราวนี้เรามาเริ่มติดตั้ง mPDF Library และเตรียมความพร้อมก่อนเริ่มเขียนโค้ดส่งออกไฟล์ PDF กันเลย
- ไปยัง Folder Project ที่เราต้องการติดตั้ง mPDF Library จากนั้นเปิด Terminal ขึ้นมาแล้วพิมพ์คำสั่ง
composer require mpdf/mpdf
- เมื่อติดตั้งเสร็จก็จะมีไฟล์ปรากฏขึ้นประมาณนี้

- สร้าง Folder Fonts ขึ้นมาใหม่ และเพิ่มฟอนต์ภาษาไทยที่เราต้องการใช้สำหรับส่งออกหน้า PDF ภาษาไทย ไว้ในนี้

- จากนั้นสร้างไฟล์ .php ขึ้นมา เช่น html_to_pdf_th.php หรือ คลิกที่นี่ เพื่อ Download ไฟล์ตัวอย่างไปติดตั้งและทดลองใช้งานกันได้เลย
<?php session_start(); ini_set('memory_limit', '-1'); set_time_limit(600000); //โหลด vendor require_once __DIR__ . '/vendor/autoload.php'; //กำหนด Font สำหรับส่งออกภาษาไทย $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, [ __DIR__ . '/fonts', ]), 'fontdata' => $fontData + [ // lowercase letters only in font key 'th_sarabun' => [ 'R' => 'THSarabunNew.ttf', 'I' => 'THSarabunNew-Italic.ttf', ] ], 'default_font' => 'th_sarabun' ]); //กำหนด Page Margin $mpdf->AddPageByArray([ 'margin-left' => 5, 'margin-right' => 5, 'margin-top' => 5, 'margin-bottom' => 5, ]); $export = html_content(); function html_content() { ob_start();?> <style> table{ border-collapse: collapse; width: 100%; } table th,table td{ border: 1px solid #CCC; padding: 3px; } </style> <h2>ส่งออกหน้ารายงาน</h2> <table> <thead> <tr> <th>ลำดับ</th> <th>รูป</th> <th>ชื่อ</th> <th>ตำแหน่ง</th> </tr> </thead> <tbody> <tr> <th>1.</th> <td><img src="images/person.png" width="50" /></td> <td>หนูทดสอบ ระบบ</td> <td>เทสเตอร์</td> </tr> <tr> <th>2.</th> <td><img src="images/person.png" width="50" /></td> <td>น้องลองเล่น ระบบ</td> <td>เทสเตอร์</td> </tr> </tbody> </table> <?php return ob_get_clean(); } $mpdf->WriteHTML($export); $mpdf->Output();
บทความอื่น ๆ ที่เกี่ยวข้องกับ PHP
เป็นยังไงกันบ้างคะ สำหรับบทความเรื่อง ส่งออกข้อมูล export html to pdf ภาษาไทย ด้วย mPDF Library ดูเพลินก็หวังว่าบทความของเราจะเป็นประโยชน์ต่อท่านไม่มากก็น้อย นอกจากนี้ เรายังมีบทความดี ๆ อีกมากมาย คุณสามารถลองคลิกเขาไปอ่านบทความอื่น ๆ ตามลิงค์ด้านล่างได้เลย




















