[MPDF] สร้างใบรับรอง เกียรติบัตร วุฒิบัตร โดยดึงข้อมูลจากฐานข้อมูล

การสร้างไฟล์ PDF โดยดึงข้อมูลจากฐานข้อมูลเพื่อสร้างใบรับรอง เกียรติบัตร วุฒิบัตรหรืออื่นๆนั้น  ในที่นี้ผมเลือกใช้ ไลเบอลารี่ที่ชื่อว่า mPDF Version 7.x สามารถดาวโหลดหรือดูข้อมูลเพิ่มเติมได้ที่ https://mpdf.github.io/

การติดตั้งผมเลือกติดตั้งโดยใช้ composer
$ composer require mpdf/mpdf

 ดึงข้อมูลจากฐานข้อมูลโดยใช้ php pdo  สามารถดูเพิ่มเติมได้ที่ https://nakomah.com/article/view/php-dataobject-syntax

ob_start();
session_start(); //เรื่มต้น session

$db_name = "database_name"; //ชื่อฐานข้อมูล
$db_host = "localhost";
$db_user = "root"; //ชื่อuser
$db_pass = "1234@#+"; //ชื่อรหัสผ่าน

try {
   $db_con = new PDO( "mysql:host={$db_host};dbname={$db_name}", $db_user, $db_pass );
   $db_con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
   $db_con->exec( "set names utf8" );
} catch ( PDOException $e ) {
   echo $e->getMessage();
}

// โหลด Liblary mPDF
$mpdf = new \Mpdf\Mpdf( [
   'format'            => 'A4',
   'mode'              => 'utf-8',
   'default_font'      => 'thiasarabun',
   'default_font_size' => '15',
   'tempDir'           => '/tmp',
] );

$mpdf->SetImportUse();

// โหลดไฟล์ pdf ที่เป็นแม่แบบเข้ามา
$mpdf->SetDocTemplate( 'certificates/thai.pdf', true );

//  ดึงค่าจากฐานข้อมูล
$stmt = $db_con->prepare( "SELECT * FROM students WHERE id = :id " );
$stmt->bindParam( ':id', $_GET["id"] );
$stmt->execute();
$row = $stmt->fetch( PDO::FETCH_ASSOC );

$mpdf->AddPage();
$html = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry.';
$stylesheet = file_get_contents( 'pdf.css' ); // external css $mpdf->WriteHTML( $stylesheet, 1 ); 
$mpdf->WriteHTML( $html, 2 ); 
$mpdf->SetTitle( 'EXP#' . time() ); 
$mpdf->Output( 'EXP#' . time() . '.pdf', 'I' );
 
ตัวอย่าง
086-2887987
Line Official
Facebook Messenger
Twitter