ผมสมมติเหตุการณ์ๆหนึ่ง สมมติว่าท่านต้องการพิมพ์ข้อความบรรทัดหนึ่ง ให้อยู่ที่กึ่งกลางหน้ากระดาษ ท่านจะทำอย่างไร?
อันที่จริงคำสั่งนี้ผมได้เขียนไว้อย่างละเอียดแล้วที่ พิมพ์ข้อความลงไปในเอกสารด้วยคำสั่ง Cell แต่ตรงนั้นอธิบายในเชิงรายละเอียดคำสั่ง ผมเลยว่าจะเขียนขึ้นมาอีกสักบท ให้เห็นถึงการประยุกต์ใช้คำสั่ง แบบชัดๆ อ่านกันบ่อยๆ เจอกันบ่อยๆ ฝึกบ่อยๆ เดี๋ยวก็เข้าใจมันไปเอง
ดูโค้ดเลยละกัน แล้วจะอธิบายทีหลัง
<?php define('FPDF_FONTPATH','font/'); require('fpdf.php'); $pdf=new FPDF(); // เพิ่มฟ้อนต์ภาษาไทยเข้ามา ตัวธรรมดา กำหนด ชื่อ เป็น angsana $pdf->AddFont('angsana','','angsa.php'); //สร้างหน้าเอกสาร $pdf->AddPage(); // กำหนดฟ้อนต์ที่จะใช้ อังสนา ตัวธรรมดา ขนาด 14 $pdf->SetFont('angsana','',14); // พิมพ์ข้อความลงเอกสาร $pdf->Cell( 0 , 5 , iconv( 'UTF-8','cp874' , 'พิมพ์ให้อยู่ตรงกลาง' ) , 0 , 1 , 'C' ); $pdf->Output(); ?> |
คำสั่ง Cell
0 : คือความกว้างเต็มบรรทัด ถ้ากำหนดเป็นเลขอื่น ความกว้างของเซลล์ก็จะเท่ากับเลขที่ระบุ
5 : คือความสูงของเซลล์ จะตีความว่าเป็นความสูงของบรรทัดก็ได้
iconv( ‘UTF-8′,’cp874’ , ‘พิมพ์ให้อยู่ตรงกลาง’ ) : คือข้อความที่ต้องการให้พิมพ์ ที่ผมต้องเอาเข้าฟังก์ชั่น iconv ก่อนก็เพราะว่าตัว FPDF เองมันไม่ซัพพอร์ต UTF-8 แล้วไฟล์ php ของผมนั้นผมเซฟเป็น UTF-8 , cp874 ก็คือ code page 874 ซึ่งเป็นรหัสของภาษาไทย
0 : คือไม่ต้องการให้มีกรอบ
1 : คือบอก FPDF ว่า เมื่อพิมพ์ข้อความเสร็จแล้ว ให้คงเคอเซอร์ไว้ที่เดิม
C : คือบอก FPDF ว่าจัดตัวอักษรให้อยู่กึ่งกลางเซลล์ ทีนี้ท่านกลับไปดูพารามิเตอร์ตัวแรกสิ เรากำหนดเป็น 0 ความกว้างเซลล์จะเต็มบรรทัด เพราะฉะนั้น เมื่อ FPDF พิมพ์ข้อความออกมา มันก็จะพิมพ์มาที่ตำแหน่งกึ่งกลางหน้ากระดาษ พอดิบพอดี
ถ้าอยากจัดข้อความให้ชิดขวา
$pdf->Cell( 0 , 5 , iconv( 'UTF-8','cp874' , 'พิมพ์ให้อยู่ตรงขวา' ) , 0 , 1 , 'R' ); |
ถ้าอยากจัดข้อความให้ชิดซ้าย
$pdf->Cell( 0 , 5 , iconv( 'UTF-8','cp874' , 'พิมพ์ให้อยู่ตรงซ้าย' ) , 0 , 1 , 'L' ); |
หรือจะเขียนอย่างนี้ก็ได้
$pdf->Cell( 0 , 5 , iconv( 'UTF-8','cp874' , 'พิมพ์ให้อยู่ตรงซ้าย' ) , 0 , 1 ); |
ไม่ต้องระบุว่าให้จัดเรียงยังไง เพราะค่าดีฟอลต์ของมันอยู่ที่ L อยู่แล้ว
ท่านสามารถอ่านรายละเอียดของคำสั่งนี้แบบยิบๆ ได้ที่ พิมพ์ข้อความลงไปในเอกสารด้วยคำสั่ง Cell