ถ้าจะจินตนาการคำว่าเซลล์ให้เป็นรูปร่างที่จับต้องได้ ก็ต้องจินตนการไปถึงเซลล์ของมนุษย์ในหนังสือวิทยาศาสตร์ หรือถ้าจะจินตนาการให้หยาบกว่าเซลล์มนุษย์ ก็อาจจะจินตนาการเป็น กล่องไม้ที่มีอะไรสักอย่างอยู่ข้างใน

เซลล์ก็คือกล่อง ที่สามารถมีอะไรบรรจุอยู่ข้างในได้ และสามารถลากไปวางไว้ที่ตรงไหนก็ได้เช่นกัน

ผมได้แนะนำคำสั่งที่ใช้สำหรับพิมพ์ข้อความลงในเอกสาร pdf แล้ว 2 คำสั่ง คือ Text และ Write

มาคราวนี้ก็ถึงคิวของคำสั่ง Cell คำสั่ง Cell จะมีความสามารถมากกว่าสองคำสั่งที่ผ่านมา คำสั่ง Cell นี้สามารถทำกรอบให้ักับตัวหนังสือได้, จัดตัวหนังสือให้อยู่ตำแหน่ง ชิดซ้าย กลาง ขวา ของกรอบเซลล์ได้, แรเงาสีได้, พิมพ์ลิ้งก์ได้ด้วย

สิ่งหนึ่งที่จะต้องจำไว้ในใจเลยก็คือว่า คำสั่ง Cell จะไม่ปัดบรรทัดให้อัตโนมัติ มันจะพิมพ์ยาวพรื้ดเลยขอบกระดาษด้านขวาออกทะเลไปโน่นเลย

ลองดูโค้ดกันก่อนตามมารยาท

Live Demo

<?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 เว็บไซต์ ในกรณีเราต้องการพิมพ์ข้อความนี้ให้เป็นไฮเปอร์ลิ้งก์