ถ้าจะจินตนาการคำว่าเซลล์ให้เป็นรูปร่างที่จับต้องได้ ก็ต้องจินตนการไปถึงเซลล์ของมนุษย์ในหนังสือวิทยาศาสตร์ หรือถ้าจะจินตนาการให้หยาบกว่าเซลล์มนุษย์ ก็อาจจะจินตนาการเป็น กล่องไม้ที่มีอะไรสักอย่างอยู่ข้างใน
เซลล์ก็คือกล่อง ที่สามารถมีอะไรบรรจุอยู่ข้างในได้ และสามารถลากไปวางไว้ที่ตรงไหนก็ได้เช่นกัน
ผมได้แนะนำคำสั่งที่ใช้สำหรับพิมพ์ข้อความลงในเอกสาร pdf แล้ว 2 คำสั่ง คือ Text และ Write
มาคราวนี้ก็ถึงคิวของคำสั่ง Cell คำสั่ง Cell จะมีความสามารถมากกว่าสองคำสั่งที่ผ่านมา คำสั่ง Cell นี้สามารถทำกรอบให้ักับตัวหนังสือได้, จัดตัวหนังสือให้อยู่ตำแหน่ง ชิดซ้าย กลาง ขวา ของกรอบเซลล์ได้, แรเงาสีได้, พิมพ์ลิ้งก์ได้ด้วย
สิ่งหนึ่งที่จะต้องจำไว้ในใจเลยก็คือว่า คำสั่ง 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->Cell( 50 , 5 , iconv( 'UTF-8','cp874' , 'พิมพ์ให้อยู่ตรงกลาง' ) , 1 ); // พิมพ์ข้อความลงเอกสาร มีกรอบ พารามิเตอร์ระบุอย่างนี้ก็ได้ $pdf->Cell( 50 , 5 , iconv( 'UTF-8','cp874' , 'พิมพ์ให้อยู่ตรงกลาง' ) , 'TBR' ); $pdf->Output(); ?> |
ถ้าท่านได้คลิกดูที่ Live Demo ท่านจะสังเกตุเห็นอย่างหนึ่งว่า คำสั่ง Cell นี้ให้ผลลัพธ์ที่ค่อนข้างเหมาะจะำนำไปแสดงข้อมูลที่เป็นตาราง
Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, boolean fill [, mixed link]]]]]]])
คำอธิบาย
สำหรับพิมพ์ข้อความลงในเอกสาร pdf
พารามิเตอร์
w : (ตัวเลข) ความกว้างของกล่องข้อความ ถ้าระบุเป็น 0 กล่องจะกว้างไปจนถึงกั้นขวาของกระดาษ
h : (ตัวเลข) ความสูงของกล่องข้อความ ค่าดีฟอลต์เป็น 0
txt : (ตัวหนังสือ) ข้อความที่ต้องการพิมพ์
border : เส้นขอบของกล่องข้อความ
- ค่าที่เป็นไปได้
- 0 : ไม่มีขอบ
- 1 : มีขอบ
- นอกจากเป็น 0 1 แล้วเรายังระบุได้ด้วยว่าเอาเฉพาะกรอบด้านไหนได้ด้วย
- L: ขอบซ้าย
- T: ขอบบน
- R: ขอบขวา
- B: ขอบล่าง
ln : (ตัวเลข) ระบุว่าหลังจากพิมพ์ข้อความในกล่องเสร็จแล้ว ให้เลื่อนเคอเซ่อร์ไปทางไหน
- ค่าที่เป็นไปได้
- 0: ปล่อยไว้ที่เดิม
- 1: เลื่อนไปเริ่มต้นที่บรรทัดใหม่
- 2: เลื่อนลงไปด้านล่างของกล่องข้อความ
align : (ตัวหนังสือ) จัดเรียงข้อความภายในกล่อง
- ค่าที่เป็นไปได้
- L or ค่าว่าง : ชิดซ้าย (default value)
- C: จัดกึ่งกลาง
- R: ชิดขวา
fill : (true/false) แรเงากล่องข้อความหรือไม่หรือไม่ สำหรับสีที่จะใช้ในการแรเงานั้นกำหนดได้ด้วยคำสั่ง SetFillColor ซึ่งจะอธิบายในบทต่อๆ ไป
- ค่าที่เป็นไปได้
- false : ไม่แรเงา (default)
- true : แรเงา
link : (ตัวหนังสือ) URL เว็บไซต์ ในกรณีเราต้องการพิมพ์ข้อความนี้ให้เป็นไฮเปอร์ลิ้งก์