project lazyman
Technologies For Everyone
2 min readApr 25, 2017

--

Laravel ตอน ที่ 3 — Create PDF in Laravel with mPDF (การสร้างไฟล์ PDF ใน Laravel ด้วย mPDF)

ในปัจจุบันเรานิยมทำเอกสารกันเป็น PDF ไม่ว่าจะเป็น report ต่างๆ หรือแม้กระทั้ง เอกสารสำคัญทางราชการ ดังนั้นจะเป็นการดีมาก หากเว็บไซต์ของเรามาสารถทำ PDF ไฟล์ได้ ในบทความนี้เราจะใช้ mPDF ซึ่งเป็น 1 ใน library ที่นิยมตัวหนึ่ง

mPDF

mPDF คืออะไร

mPDF คือ หนึ่งใน library PHP โดยประโยชน์ของการใช้ library คือมันเป็นโค้ดที่เขียนสำเร็จรูปมาแล้ว ถูกรวบรวมไว้อย่างเป็นระเบียบ พร้อมใช้งาน และนำมาใช้งานซ้ำได้ โดยส่วนใหญ่จะหมายถึงโค้ดที่ไม่ได้เป็นระบบใหญ่ แต่เป็นโค้ส่วนย่อยๆที่มีหน้าที่ ทำงานในส่วนย่อยๆเท่านั้นโดยตัว mPDF นี้เป็น library ที่ใช้สำหรับการช่วยสร้างไฟล์ PDF โดยมีข้อดีคือ การอ่านค่าของ css ได้ค่อนข้างดี ซึ่งมีความคล้ายคลึงกับ FPDF TCPDF

ขั้นตอนการทำ mPDF

1.โดยขั้นตอนแรกเราจะติดตั้ง Composer ก่อนเพื่อนำ Composer มาใช้ในการช่วยในการจัดการ mPDF ซึ่งจะสะดวกกว่าการลง mPDF โดยไม่ใช้ Composer (เกี่ยวกับ Composer http://www.softmelt.com/article.php?id=498) โดยเราจะใช้ composer ในการสั่งลง mpdf (*ใน laravel มี composerอยู่แล้ว)

2.ขั้นต่อมาหลังจากที่ลง Composerเรียบร้อยแล้วนั้นเราก็จะเพิ่มโค้ดนี้ลงในไฟลของ composer

“mpdf/mpdf”: “dev-master”composer require mpdf/mpdf

3.โดยหลังจากที่เราติดตั้งเสร็จแล้วนั้น mPDF จะถูกเก็บไว้ในตัวของ composer ในไฟล์ autoload_classmap.phpไว้ให้เรียกใช้งาน

4.โดยการใช้งานนั้นเราจะต้องทำการ include() ไฟล์ autoload.php ใน vendor แล้วจึงคำสั่ง use mPDFเพื่อใช้งาน mPDF โดยภาพด้านล่างคือตัวอย่างการใช้งาน mPDF

include ‘../../../vendor/autoload.php’;use mPDF;$mpdf = new mPDF();$mpdf->WriteHTML(‘Hello World‘);$mpdf->Output();

จากตัวอย่างจะเป็นการแสดง Hello World ในไฟล์ pdf เรายังสามารถเปลี่ยนเฉพาะค่าที่เราเก็บไว้ในได้อีกด้วยตัวอย่างต่อไปนี้

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

$html =’<h1>Basic HTML Example </h1>This file demonstrates most of HTML elements.‘;include ‘vendor/autoload.php’;use mPDF;$mpdf = new mPDF();$mpdf->WriteHTML($html);$mpdf->Output();

จากรูปเราเก็บค่าไว้ในตัวและและนำออกมาแสดงผลเป็น PDF

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

และเรายังสามารถเปลี่ยนทั้งไฟล์ได้อีกด้วยตัวอย่างต่อไปนี้

$html_data =file_get_contents(“hello_world.html”);include ‘vendor/autoload.php’;use mPDF;$mpdf = new mPDF();$mpdf->WriteHTML($html_data);$mpdf->Output();

จากรูปผลที่ได้เกิดจากการแปลงไฟล์ทั้งไฟล์เป็น PDF

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

ตอนต่อไป >>> การส่งเมล์ด้วย Mailgun

--

--