Export PDF ภาษาไทยด้วย JasperReports

JasperReports เป็น Opensource ที่นิยมใช้กันอย่างแพร่หลาย แต่บางคนอาจกำลังปวดขมับกับภาษาไทยที่มันหายไป มาดูวิธีการ Export ไฟล์ PDF และการกำหนดให้แสดงผลภาษาไทยกันครับ

 

โปรแกรม iReport

สิ่งที่ต้องมีคือโปรแกรมสำหรับสร้าง Report นั่นคือ “iReport” เป็นฟรีแวร์ (ดาวน์โหลดที่นี่) ในบทความนี้ใช้เวอร์ชัน 5.6 ครับ

 

โครงสร้างโปรเจ็ค

เป็น Web Application ใช้ Primefaces Framework เวอร์ชัน 6

 

ขั้นตอนที่ 1 สร้าง Report

1.1 สร้าง Report ด้วยโปรแกรม iReport ตั้งชื่อว่า PacteezMembers.jrxml เอาไว้ที่ /jaspers/

จุดสำคัญมีดังนี้
– ชื่อ Field เราจะหยอดค่าผ่าน Java ด้วยชื่อ Field
– ภาษาไทย กำหนด font ให้ตรงกับไฟล์ font ที่เราจะ export ตัวอย่างใช้ “TH SarabunPSK”

 

1.2 เสร็จแล้วสั่ง compile จะได้ไฟล์ชื่อ PacteezMembers.jasper พร้อมให้ Web Application เรียกใช้งาน

 

ขั้นตอนที่ 2 กำหนด font สำหรับ JasperReports

2.1 สร้างไฟล์ชื่อ jasperfonts.xml ไว้ที่ /src/main/resources/fonts/ โดยกำหนดค่าดังนี้

2.2 นำไฟล์ font ที่กำหนดค่าไว้จากข้อ 2.1 มาวาง

2.3 สร้างไฟล์ jasperreports_extension.properties ไว้ที่ /src/main/resources/ โดยกำหนดค่าดังนี้

*ไฟล์สำหรับ config ให้ JasperReports ไปโหลด font ที่เตรียมไว้

 

ขั้นตอนที่ 3 Add Library

ที่โปรเจ็ค Web Application ให้เพิ่ม Library ที่ไฟล์ pom.xml ดังนี้

 

ขั้นตอนที่ 4 ไฟล์ ExportPdfController.java

 

ขั้นตอนที่ 5 ไฟล์ index.xhtml

ขั้นตอนที่ 6 ทดสอบใช้งาน

หน้าจอ

เมื่อกดปุ่ม “Export PDF” ก็จะได้ผลลัพธ์ดังนี้

Leave a Reply

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

Advertisment ad adsense adlogger