การออกรายงานเอกสาร PDF
FPDF คืออะไร FPDF เป็นคลาสที่เขียนขึ้นมาด้วยภาษา PHP สำหรับสร้างไฟล์ PDF แบบ ออนไลน์ ด้วยความง่าย และใช้เวลาในการศึกษาไม่นาน ทำให้คลาสตัวนี้เป็นที่ นิยมอย่างมาก ในแวดวงผู้เขียนเว็บแอพพลิเคชัน ด้วย PHP
การแสดงรายงานบนหน้าเว็บนั้น มีอุปสรรค์หลายอย่าง ไม่สามารถกำหนดขนาดของหน้ากระดาษ ไม่สามารถกำหนดตำแหน่งแสดงผลบนหน้ากระดาษที่แน่นอน ไม่สะดวกในการจัดเก็บรายงาน เพราะต้องปริ้นต์ออกกระดาษ คำตอบคือ FPDF Export ข้อมูลออกเป็นไฟล์ .pdf ปริ้นข้อมูลให้ลงตรงตำแหน่งในกระดาษ ที่มีฟอร์มอยู่แล้ว
คุณสมบัติหลักๆของ FPDF : สามารถกำหนดขนาดกระดาษ กั้นหน้า กั้นหลัง กั้นบน กั้นล่าง สามารถกำหนดหัวและท้ายกระดาษ แบ่งหน้าโดยอัตโนมัติ ขึ้นบรรทัดใหม่และจัดเรียงข้อความอัตโนมัติ สนับสนุนการใช้งานภาพกราฟิก (jpeg,png,gif) สามารถกำหนดสีข้อความ สนับสนุน hyperlink กำหนดฟ้อนต์ และขนาดได้ และที่สำคัญมากๆ สนับสนุน ภาษาไทย
การใช้งานเบื้องต้น Download class FPDF http://www.fpdf.org/ แตกซิปออก ไปไว้ที่ C:\AppServ\www สิ่งที่เราจะต้องใช้คือ ไฟล์ fpdf.php คลาสสำหรับสร้าง PDF โฟลเดอร์ font เราจะเก็บฟ้อนต์ที่ต้องการใช้งานในโฟลเดอร์นี้
การใช้งานเบื้องต้น : เริ่มเขียน code 1. include ไฟล์ fpdf.php เข้ามา require('fpdf.php'); 2. สร้าง instant FPDF $pdf=new FPDF(); 3. เพิ่มหน้ากระดาษ $pdf->AddPage(); 4. เพิ่มฟอนต์ที่ใช้ลงในเอกสาร $pdf -> AddFont('ArialB','B','ArialB.php'); 4. กำหนดฟอนต์ที่จะใช้ ซึ่ง ณ ตอนนี้จะใช้ฟอนต์ Arial $pdf->SetFont('ArialB','B',16); //กำหนดฟอนต์ Arial
การใช้งานเบื้องต้น : เริ่มเขียน code 5. พิมพ์ข้อความลงไปในเอกสาร $pdf->Text( 10 , 10 , 'Hello World!'); //พิมพ์คำว่า Hello World! ลงไปในตำแหน่ง //เยื้องจากขอบกระดาษด้านซ้าย 10 มม. //เยื้องจากขอบกระดาษด้านบน 10 มม. 6. Output $pdf->Output();
FPDF(orientation , unit , format) การกำหนดขนาดกระดาษ FPDF(orientation , unit , format) orientation : กำหนดกระดาษแนวตั้งหรือแนวนอน P – แนวตั้ง (default) L – แนวนอน unit : หน่วยวัด ใช้เป็นหน่วยในการกำหนดพิกัดพิมพ์ข้อความลงบน pdf mm – มิลลิเมตร (default) cm – เซนติเมตร in – นิ้ว format : ขนาดกระดาษ A3, A4 (default), A5, Letter array(width,height) – กำหนดเอง โดยส่งอะเรย์ กว้างxสูง
AddPage(orientation , format) การเพิ่มหน้ากระดาษ AddPage(orientation , format) orientation : กำหนดกระดาษแนวตั้งหรือแนวนอน P – แนวตั้ง (default) L – แนวนอน format : ขนาดกระดาษ A3, A4 (default), A5, Letter array(width,height) – กำหนดเอง โดยส่งอะเรย์ กว้างxสูง
การตั้งค่าหน้ากระดาษ SetMargins(left, top, right) left : (ตัวเลข) กั้นหน้ากระดาษซ้าย top : (ตัวเลข) กั้นหน้ากระดาษด้านบน right : (ตัวเลข) กั้นหน้ากระดาษด้านขวา <?php require('fpdf.php'); $pdf=new FPDF(); $pdf->SetMargins( 50,30,10 ); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Text( 10 , 10 , ‘Hello PDF'); $pdf->Output(); ?>
การเพิ่มฟอนต์ในเอกสาร AddFont(family , style , file) family : กำหนดชื่อ style : ลักษณะของฟอนต์ empty string – ตัวอักษรปกติ B: ตัวหนา I: ตัวเอียง BI หรือ IB: ตัวหนาเอียง file : ไฟล์ฟอนต์
การกำหนดฟอนต์ที่ใช้ในเอกสาร SetFont(family , style , size) family : ชื่อฟอนต์ที่ใช้คำสั่ง AddFont กำหนดไว้ style : ลักษณะของฟอนต์ empty string – ตัวอักษรปกติ B: ตัวหนา I: ตัวเอียง BI หรือ IB: ตัวหนาเอียง size : ขนาดฟอนต์ที่จะพิมพ์ลงในเอกสาร ***คำสั่ง AddFont กับ SetFont นั้นจะใช้งานควบคู่กัน
การกำหนดสีตัวอักษร SetTextColor(R,G,B); R : ค่าของสีแดง 0-255 เช่น ต้องการตัวอักษรสีน้ำเงิน SetTextColor(0,0,255);
การพิมพ์ข้อความ Text(x, y, txt) x : (ตัวเลข) พิกัดในแกน x แนวนอน y : (ตัวเลข) พิกัดในแกน y แนวตั้ง txt : (ตัวหนังสือ) ข้อความที่ต้องการพิมพ์ Write(h, txt , link) h : (ตัวเลข) ความสูงของบรรทัด txt : (ตัวหนังสือ) ข้อความที่ต้องการพิมพ์ link : (ตัวหนังสือ) url ของเว็บไซต์
Image(file, x , y , w , h , type ,link) การแทรกรูปภาพ Image(file, x , y , w , h , type ,link) file : (บังคับ) pathของภาพที่ต้องการใส่เข้าไปในไฟล์ pdf x : (ออปชั่น) ตำแหน่งวางภาพในแกนแนวนอน y : (ออปชั่น) ตำแหน่งวางภาพในแกนแนวตั้ง w : (ออปชั่น) ความกว้างของรูปภาพ h : (ออปชั่น) ความสูงของรูปภาพ type : ชนิดของภาพ JPG, JPEG, PNG link : ป้อน URL ของเว็บไซต์ในกรณีต้องการให้คลิกที่ภาพแล้วเปิดหน้าเว็บ
ตัวอย่างการแทรกรูปภาพ <?php require('fpdf.php'); $pdf=new PDF(); //สร้างหน้าเอกสาร $pdf->AddPage(); $pdf>Image('logo.png',10,12,30,0,'','http://www.select2web.com'); $pdf->Output(); ?>
การสร้างเอกสารเป็นไฟล์ Output(name, dest) name : กำหนดชื่อไฟล์ pdf dest : กำหนดประเภทของเป้าหมาย I: แสดงไฟล์ pdf ในเบราเซอร์ D: แสดงไดอะลอกบ้อกให้ยูสเซอร์เลือกว่าจะเปิดหรือจะบันทึกไฟล์ pdf ลงในเครื่อง F: บันทึกเป็นไฟล์ไว้บนเซิฟเวอร์ S: คืนค่าเป็น String
การออกรายงานภาษาไทย 2. ประกาศที่อยู่ font 1. Download Font http://www.fontthai.com/ แตกไฟล์นำไปไว้ที่ folder font 2. ประกาศที่อยู่ font define('FPDF_FONTPATH','../font/'); 3. เพิ่มฟอนต์ภาษาไทยเข้า โดยใช้คำสั่ง Addfont $pdf->AddFont('angsanaB',‘B','angsab.php'); 4. กำหนดฟอนต์ที่จะใช้ $pdf->SetFont('angsanaB',‘B',32); 5. พิมพ์ข้อความ $pdf->Text( 10 , 10 , ‘รักเมืองไทย’);
ตัวอย่างสร้างเอกสาร PDF <? define('FPDF_FONTPATH','../font/'); require('../fpdf.php'); $pdf = new FPDF(); $pdf -> AddFont('Ansana','B','angsab.php'); $pdf -> SetFont('Ansana','B',32); $pdf -> SetTextColor(0,0,255); $pdf -> Image('pic.jpg', 20 , 100 , 50 , 50 ); $pdf -> AddPage(); $pdf -> Text(100,100,"สวัสดี"); $pdf -> AddPage('L'); $pdf -> Text(100,100,"ลาก่อน"); $pdf -> Output(); ?>