เพิ่ม font thai ให้กับ invoice ใน PrestaShop 1.4

หลายๆ คนที่ได้เริ่มใช้งาน PrestaShop ไปได้สักพักอาจจะยังไม่เคยลองเปิดดู PDF invoice ของร้านตัวเองดูเลยว่า font รองรับภาษาไทยหรือเปล่า แต่ถ้าไม่แน่ใจอ่านจบถึงตรงนี้รีบกลับไปเช็คด่วนๆ เลยนะครับ แล้วค่อยกลับมาอ่านต่อ

ถ้าเพื่อนๆ ติดตั้ง PrestaShop เองโดย donwload มาจาก prestashop.com มั่นใจได้เลยว่า ไม่มีภาษาไทยมาให้แน่ๆ ทั้ง front office, back office แม้กระทั่ง PDF ต่างๆ แล้วถ้าไม่มีจะทำยังไงดีล่ะ อันนี้ก็ไม่ยากครับ ก็แค่เพิ่มเข้าไปเท่านั้น แล้วจะไปเพิ่มยังไง แล้วจะไปหา font thai มาจากไหน เรามีคำตอบให้ครับ

เท้าความสักนิดนะครับ สำหรับ PDF ที่ใช้งานใน PrestaShop จะใช้ php class หรือ library ของ fpdf และ fpdf เองก็ใจดีให้เราสามารถนำ font ต่างๆ ที่เป็น True Type Font (TTF) ที่อยู่ในระบบ windows ที่เราๆ คุ้นเคยกัน แต่ก็ใช้ว่าจะเราจะหยิบเอา .ttf มาใช้งานได้เลยทันที มันจะมีกระบวนการบางอย่างเพื่อให้ใช้งานกับ fpdf เสียก่อนครับ และด้วยความขี้เกียจเขียนถึงวิธีทำดังกล่าว เพื่อนๆ สามารถอ่าน วิธีสร้าง Font ให้กับ Class fpdf แล้วกลับมาอ่านกันต่อครับ

เป็นยังไงบ้างครับ หลังจากอ่านจบคิดว่าไม่น่าจะทำยากเกินไปนะครับ เมื่อได้วิธีการทำแล้ว เราลองมาหา font thai สวยๆ ถูกลิขสิทธิ์ ใช้งานกันบ้างครับ อันนี้ของแนะนำเลยครับ เนื่องจากสำนักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติ (SIPA) ได้ทำการเผยแพร่ font แบบฟรีๆ กันถึง 13 แบบ แถมถูกลิขสิทธิ์ด้วย เอาไปใช้สบายใจได้เลยครับ สามารถดูตัวอย่างได้ที่ www.f0nt.com

เอาละเมื่อไฟล์พร้อมแล้วก็ลงมือกันเลยครับ ให้เรานำไฟล์ที่ผ่านการแปลงแล้ว ( .z กับ .php ) ftp upload ขึ้นไปไว้ที่ folder <prestashop_home>/tools/fpdf/font จากนั้นให้เข้าไปที่ back office และเข้าไปที่ tab Orders > PDF แล้วเมื่อคลิกดูที่ dropdown ตัวอักษร (Font) ควรจะเห็นชื่อ font thai ที่เราเพิ่ง upload ขึ้นไปครับ

ตามตัวอย่างภาพ ผมได้ทดลองกับ font TH Sarabun จาก 13 font free นะครับ แล้วได้ตั้งชื่อ font เป็น thsarabun.z thsarabun.zip ส่วนการกำหนดค่าเพื่อใช้งานทำโดยการเปลี่ยนสัญลักษณ์ธงเป็นไทย แล้วเลือก รหัสตัวอักษร (Encoding) เป็น cp874 ตัวอักษร (Font) เป็นแบบ font thai ที่เพิ่มเข้าไป จากนั้นทำการบันทึก เท่านี้ก็เป็นว่าเสร็จครับ

เมื่อกำหนดค่าเสร็จ เรามาลองทดลองกันดู ก่อนอื่นให้เราเช็คภาษาที่ login เข้าใช้งานก่อนครับ โดยการเข้าไปที่ tab Employees แล้วเลือกแก้ไข user ของเรา จากนั้นให้ดูที่ Language ว่าเป็น thai หรือเปล่าถ้าไม่ใช่ก็เปลี่ยนแล้วบันทึก คงจะสงสัยว่าเปลี่ยนไปทำไม ต้องขอบอกแบบนี้ครับ PrestaShop ไม่ว่าจะเป็น front หรือ back office จะแสดงผลภาษาตามที่ user ได้เลือกไว้เป็นค่าเริ่มต้นครับ ดังนั้นเมื่อเราต้องการจะทดสอบภาษาไทย ก็จึงจำเป็นต้องเปลี่ยนเพื่อให้ทำงานถูกต้องครับ อันนี้ไม่เชื่อสามารถลองได้ครับ

เมื่อเปลี่ยนเรียบร้อยแล้ว เราไปดูว่า PDF เป็นภาษาไทยแล้วหรือยังนะ แต่ทั้งนี้ต้องขึ้นกับเนื้อหาต่างๆ ที่เราเพิ่มเข้าไปด้วยนะครับ ว่าเป็นภาษาไทยหรือเปล่า ถ้ายังรบกวนไปลองเปลี่ยนซะนะครับ ให้เราไปที่ tab Orders แล้วเปิดดู order ที่สามารถเปิดดู invoice ได้นะครับ

ตามตัวอย่างภาพ จะเห็นว่าข้อความเป็นภาษาไทยเรียบร้อยสวยงามตามแบบ font ที่เริ่มเพิ่มเข้าไปเลยนะครับ แต่ก็ยังอาจต้องมีการแก้ไขเรื่องขนาดของ font อีกนิดหน่อย เพราะขนาดที่กำหนดมามันเหมาะสมกับ font เดิมๆ ที่มากับระบบ ส่วนวิธีการแก้ไขขนาด font จะทำยังไง ติดตามกันตอนหน้านะครับ


หากมีข้อสงสัยหรืออยากแบ่งปันความเห็นของท่าน ยินดีรับฟังและร่วมออกความเห็นได้ที่กลุ่ม PrestaShop Thailand เชิญได้ที่ http://www.facebook.com/groups/prestashop.th ครับ
หรือบ้านใหม่อีกแห่งใน G+ ที่ https://plus.google.com/communities/107595456751483898239

ส่วนใครได้ใช้ Google+ แล้ว แต่ยังไม่รู้จะเพิ่มใครเข้าแวดวง (Circle) ดี ก็จัดผมเข้าไปในแวดวงของท่านได้ที่
http://gplus.to/nokaek นะครับ

 

One Response to เพิ่ม font thai ให้กับ invoice ใน PrestaShop 1.4

  1. mrdreamer says:

    วิธีสร้าง Font ให้กับ Class fpdf

    เข้าไปอ่านไม่ได้แล้วครับ

Leave a Reply

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

CAPTCHA Image

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>