ในบรรดาคำสั่งในการพิมพ์ข้อความลงไปในเอกสาร pdf ที่ fpdf เตรียมไว้ให้ 4 คำสั่ง คือ Text , Write , Cell , MultiCell คำสั่ง Text เป็นคำสั่งที่เรียบง่ายที่สุด คำสั่งนี้เหมาะที่จะใช้ในการพิมพ์ข้อความสั้นๆ เพราะว่ามันจะไม่ขึ้นบรรทัดใหม่ให้อัตโนมัติ ลองดูวิธีการใช้งานครับ แล้วผมจะอธิบายคำสั่ง ตอนท้าย
<?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->Text( 10 , 10 , iconv( 'UTF-8','cp874' , 'ครั้งแรกที่ผมศึกษาตัว fpdf ผมมองมันไม่ค่อยจะออกว่าจะพิมพ์ข้อความลงไปตรงนั้นตรงนี้ได้อย่างไร มันเหมือนเอกสารเวิร์ดมั้ย ที่ถ้าหากเราจะให้ข้อความมันเริ่มจากบรรทัดที่ 3 เราจะต้องเคาะขึ้นบรรทัดใหม่ 3 ครั้งก่อน แล้วค่อยพิมพ์ แล้วถ้าเราไม่ได้พิมพ์ไปทีละบรรทัดล่ะ เช่น อยากให้มันพิมพ์ตรงนั้นนิด ตรงนี้หน่อย ทำไง หลังจากพยายามทำความเข้าใจอยู่พักนึง ผมจึงได้ข้อสรุปว่า การพิมพ์ข้อความลงไปในเอกสาร pdf ด้วย fpdf นั้น เหมือนการใช้กล่องข้อความของเอกสารเวิร์ดมากกว่า ที่มีข้อความอยู่ในกล่อง แล้วลากไปลากมาให้ข้อความนั้นแสดงในตำแหน่งที่ต้องการ' ) ); $pdf->Output(); ?> |
สาเหตุที่ผมใช้ข้อความย้าวยาว ในคำสั่ง Text ก็เพื่อให้ท่านๆเห็นกับตาว่ามันไม่ปัดขึ้นบรรทัดใหม่ให้อัตโนมัติ
Text(float x, float y, string txt)
คำอธิบาย
สำหรับพิมพ์ข้อความลงในเอกสาร pdf คำสั่งนี้ จะไม่สนกั้นหน้า กั้นหลัง มุมซ้ายมือบน เป็นพิกัด 0,0
พารามิเตอร์
x : (ตัวเลข) พิกัดในแกน x แนวนอน
y : (ตัวเลข) พิกัดในแกน y แนวตั้ง
txt : (ตัวหนังสือ) ข้อความที่ต้องการพิมพ์
Pepe says:
26/10/2552 at 26/10/2552
ขอบใจน้าาา
NightMare says:
27/10/2552 at 27/10/2552
ขอบคุณมากครับที่สรรหาสิ่งดีๆมาให้เสมอๆ ทุกวันนี้หาเวลาหายใจมาเข้าเว็บนี้ทุกวันให้ได้เพราะเนื้อหาดีๆ อิอิ
kai says:
28/09/2553 at 28/09/2553
ขอบคุณสำหรับสิ่งดีๆครับ
งมโข่งอยู่นาน
payak says:
06/02/2554 at 06/02/2554
ผม copy code ไปลองใช้แล้ว download font ไปใช้จากเว็บนี้ แต่ทำไมพอ run ขึ้นมากลับเป็น pdf เปล่าๆนะครับ รบกวนผู้รู้ช่วยบอกด้วยนะครับ
Zero Zero One says:
09/08/2555 at 09/08/2555
ถ้าเอกสารของเราไม่ได้ Encoding เป็น UTF8 (อย่างเช่น TIS-620)
แล้วไปใช้ฟังก์ชั่น iconv มันจะไม่แสดงข้อความใดๆ
ลองเอา iconv ออกดูครับ
จาก
$pdf->MultiCell( 0 , 0 , iconv( ‘UTF-8′,’cp874’ , ‘อังสนา ตัวธรรมดา ขนาด 12’ ) );
แก้เป็น
$pdf->MultiCell( 0 , 0 , ‘อังสนา ตัวธรรมดา ขนาด 12’);
pp says:
09/02/2554 at 09/02/2554
จะแสดงข้อความในแนวตั้งทำยังไงค่ะ