Categories
PHP

FPDF VS TCPDF

ช่วงนี้มีโปรเจคที่ต้องทำให้ PHP สร้างเอกสาร PDF ออกมา เลยทำให้ต้องมานั่งคิดว่าจะใช้ Library ตัวไหนดี

ครั้นจะใช้ PDF Module ของ PHP เองก็ดูจะยากไปหน่อย เลยลอง Google ดูไปเจอที่ฮิตๆกันอยู่ 2 ตัวคือ

FPDF และ TCPDF

เปรียบเทียบง่ายสุดก่อน อยากรู้ว่าอันไหนดังกว่ากัน ก็ลองใช้ Google Trends ทดสอบดู [คลิก] ได้ผลตามรูปด้านล่าง

FPDF vs TCPDF by Google Trends
FPDF vs TCPDF by Google Trends

จากกราฟ FPDF คือเส้นสีฟ้า และ TCPDF คือเส้นสีแดง ซึ่งเห็นได้ชัดว่า FPDF มันดังกว่ามาก ก็ลองเข้าไปดูเว็บมันซักหน่อย [คลิก] พบว่ามันออกจะดูโบราณนิด แล้วพอไปดูหน้าดาวน์โหลดของ FPDF ก็พบว่าเวอร์ชั่นล่าสุดคือ 1.6  ออกมาตั้งแต่เดือน 8 ปี 2008 สรุปว่าดูโดยรวมแล้วยังไม่ค่อยชอบใจเท่าไหร่ แต่เก็บไว้คิดหน่อยละกัน มันดังดี

ทีนี้มาลองดูฝั่ง TCPDF บ้าง [คลิก] ในเว็บไม่ค่อยพูดถึงประวัติซักเท่าไหร่ แต่ก็ไปเจอของ Wikipedia [คลิก] เขียนไว้ว่า TCPDF พัฒนาต่อจาก FPDF แล้วปัจจุบันก็ยังเป็นโปรเจคที่ Active อยู่ด้วย อีกทั้งถูกใช้ใน CMS ดังๆหลายตัว เช่น Joomla, Drupal และอื่นๆ อ่านดูก็เริ่มน่าสนใจขึ้นมาแล้ว พอไปดูตรง Example เจอทีเด็ดที่ต้องการ! นั่นคือ

สามารถสร้าง PDF จาก Tag HTML ได้

ทำให้การสร้างตารางที่ซับซ้อน และการจัด Format เอกสารทำได้ง่ายขึ้นล้านนนนนนนนเท่า! เลยตัดสินใจว่าฝากอนาคตไว้กับ TCPDF เนี่ยแหละ

ทีนี้มันยังมีอีก 1 ประเด็น คือ ความสามารถในการรองรับภาษาไทย แต่ก็ไม่มีปัญหาเพราะทั้ง FPDF และ TCPDF ประกาศกร้าวว่า Support ภาษาไทยแน่นอน เท่าที่เช็คดูใน TCPDF ก็มี Font ภาษาไทยมาให้แล้ว แต่ยังไม่ค่อยโดนใจ [ดูตัวอย่าง Font คลิก] ถ้าใครต้องการ Font อื่นๆ นอกเหนือจากนี้ก็ต้องไปทำ Font เอง ซึ่งขั้นตอนก็ไม่ซับซ้อนมากนักเพราะมี Manual ให้อย่างละเอียด [คลิก]

สุดท้ายก็เลยไปลองทำ Font เองว่าจะใช้ภาษาไทยได้จริงอย่างที่โฆษณาไว้หรือเปล่า โดยทำออกมา 3 font ที่ชอบคือ

  1. AngsanaUPC
  2. CordiaUPC
  3. TH Sarabun PSK (ฟอนต์ฟรีจาก SIPA)

ดาวน์โหลดกันไปใช้เล่นๆได้สำหรับคนที่ขี้เกียจทำเอง [คลิก] แล้วก็มี Demo เอกสารที่ทดลองใช้ Font ที่สร้างขึ้นมาให้ดู [ทดสอบภาษาไทยกับ TCPDF]

8 replies on “FPDF VS TCPDF”

เป็นประโยชน์มาก ๆ เลยค่ะ ปวดหัวกับ html tag กับ FPDF อยู่นานสองนาน 🙂

ช่วยผมหน่อยครับ ปัญหาคือพอผมพิมพ์ภาษาไทยลงไป มันจะไม่ขึ้น Text ใด ๆ เลย เป็นหน้าขาว
มันขึ้นแต่โลโก้ หัวกระดาษและท้ายกระดาษ

โหลดฟอนต์ของพี่มาใช้ก็ยังเป็นเหมือนเดิมครับ

หัวกระดาษท้ายกระดาษ เป็นภาษาไทยเปล่าครับ? ถ้าใช่ที่ Body ไม่ขึ้น น่าจะเป็นที่ Code นะครับ

Leave a Reply

Your email address will not be published. Required fields are marked *