[MPDF] สร้างใบรับรอง เกียรติบัตร วุฒิบัตร โดยดึงข้อมูลจากฐานข้อมูล
การติดตั้งผมเลือกติดตั้งโดยใช้ composerการสร้างไฟล์ PDF โดยดึงข้อมูลจากฐานข้อมูลเพื่อสร้างใบรับรอง เกียรติบัตร วุฒิบัตรหรืออื่นๆนั้น ในที่นี้ผมเลือกใช้ ไลเบอลารี่ที่ชื่อว่า
mPDF Version 7.xสามารถดาวโหลดหรือดูข้อมูลเพิ่มเติมได้ที่ https://mpdf.github.io/
$ 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' );