หากเราต้องการสร้าง เอกสาร .pdf หรือ
ออกรายงาน เป็น pdf ด้วย php เราสามารถสร้างเอกสาร php ด้วย
class FPDF ได้ดังนี้
1. Download zip ไฟล์จาก
http://projectsoft.biz/fpdf.zip
2. Extract zip ไฟล์ไปไว้ใน folder เดียวกับไฟล์โปรแกรม php ที่ต้องการสร้างเอกสาร pdf ดังรูป
3. เขียน code สร้างไฟล์ .pdf ได้ดังนี้
<?php
define('FPDF_FONTPATH','fonts/')
;//กำหนดให้ ดึงไฟล์ fonts จาก folder fonts
include('fpdf.php');
//ให้โปรแกรมเรียกใช้ class FPDF ได้
$pdf = new
FPDF();//สร้าง object pdf
$pdf->
AddPage();
//หาก เราใช้คำสั่ง $pdf->AddPage("l"); จะได้ pdf ขนาด A4 เป็น แนวนอน
//เพิ่ม fontที่จะให้ใช้งานได้
$pdf->
AddFont('angsana','','angsa.php');
$pdf->
AddFont('angsana','B','angsab.php');
$pdf->
AddFont('angsana','I','angsai.php');
$pdf->
AddFont('angsana','BI','angsaz.php');
//เราใช้ method Cell ของ class FPDF เพื่อแสดงตัวอักษร
//$pdf->Cell(ความกว้างของกล่องข้อความ,ความสูงของกล่องข้อความ,iconv("UTF-8", "TIS-620","ข้อความ"),ขอบ);
//iconv("UTF-8", "TIS-620","ข้อความ") คือการแปลงการเข้ารหัสข้อความจาก UTF-8 เป็น TIS-620
//หาก ความกว้างของกล่องข้อความ และความสูงของกล่องข้อความเป็นศูนย์จะไม่มีความกว้างความยาวของกล่องข้อความ
//เช่น $pdf->Cell(0,0,iconv("UTF-8", "TIS-620","ปกติ"));
//เราเลือกที่จะไม่ส่งค่าขอบได้ ตามตัวอย่างยรรทัดบน แต่ถ้าส่งค่าขอบไป เช่น cell นั้นจะแสดงขอบให้ เช่น
//$pdf->Cell(30,15,iconv("UTF-8", "TIS-620","ตัวหนาขีดเส้นใต้"),1);
$pdf->
setXY(10,10);
//แสดงข้อความห่างขอบซ้าย 10 ขอบบน 10
$pdf->
SetFont('angsana','',14);
//กำหนด font แบบปกติ angsana ขนาด 14
$pdf->
Cell(0,0,iconv("UTF-8", "TIS-620","ปกติ"));
$pdf->
setXY(10,15);
//แสดงข้อความห่างขอบซ้าย 10 ขอบบน 15
$pdf->
SetFont('angsana','B',14);
//กำหนด font angsana ตัวหนา ขนาด 14
$pdf->
Cell(0,0,iconv("UTF-8", "TIS-620","ตัวหนา"));
$pdf->
setXY(10,20);
//แสดงข้อความห่างขอบซ้าย 10 ขอบบน 20
$pdf->
SetFont('angsana','I',14);
//กำหนด font angsana ตัวเอียง ขนาด 14
$pdf->
Cell(0,0,iconv("UTF-8", "TIS-620","ตัวเอียง"));
$pdf->
setXY(10,25);
//แสดงข้อความห่างขอบซ้าย 10 ขอบบน 25
$pdf->
SetFont('angsana','BU',14);
//กำหนด font angsana ตัวหนาขีดเส้นใต้ ขนาด 14
$pdf->
Cell(30,15,iconv("UTF-8", "TIS-620","ตัวหนาขีดเส้นใต้"),1);
$pdf->
SetFont('angsana','UI',14);
//กำหนด font angsana ตัวเอียงขีดเส้นใต้ ขนาด 14
$pdf->
Cell(30,15,iconv("UTF-8", "TIS-620","ตัวเอียงขีดเส้นใต้"),1);
$pdf->
Image('http://projectsoft.biz/images/code2.jpg',80,60,100,40);//แสดงรูป
//$pdf->Image('path ไฟล์',ห่างจากขอบซ้าย,ห่างจากจากขอบบน,ความกว้างของรูป,ความสูงของรูป);
$pdf->
Output();
//สั่งพิมพ์ pdf
?>
ผลของโปรแกรมจะได้ดังนี้