Friday, August 13, 2010

การเซ็ตให้รายงาน JasperServer ส่งออกเป็นไฟล์ PDF ที่มีฟอนต์ภาษาไทย

เซ็ตให้รายงาน JasperServer ส่งออกเป็นไฟล์ PDF ที่มีฟอนต์ภาษาไทย ได้ใน 4 ขั้นตอน
1. สร้างไฟล์ jasperreports_extension.properties ในโฟลเดอร์ WEB-INF/classes ของ jasperserver

Windows: C:\Program Files\Apache Software Foundation\tomcat 6.0\webapps\jasperserver\WEB-INF\classes\
Linux Fedora 12: /usr/share/tomcat6/webapps/jasperserver/WEB-INF/classes/

เขียนโค้ดบรรทัดต่อไปนี้ลงในไฟล์

jasperreports_extension.properties
net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.extensions.SpringExtensionsRegistryFactory
net.sf.jasperreports.extension.fonts.spring.beans.resource=fonts.xml

2. สร้างไฟล์ fonts.xml ภายใต้โฟลเดอร์ WEB-INF/classes ของ jasperserver (โฟลเดอร์เดียวกับขั้นตอน 1)

เขียนโค้ดบรรทัดต่อไปนี้ลงในไฟล์

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="TahomaFontFamily" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
<property name="name" value="Tahoma"/>
<property name="normal" value="fonts/tahoma.ttf"/>
<property name="pdfEncoding" value="Identity-H"/>
</bean>
</beans>

3. สร้างโฟลเดอร์ fonts ภายใต้โฟลเดอร์ WEB-INF/classes ของ jasperserver (โฟลเดอร์เดียวกับขั้นตอน 1) จะได้โฟลเดอร์ WEB-INF/classes/fonts

4. ก็อปปี้หรืออัปโหลดไฟล์ฟอนต์ที่ต้องการ เช่น tahoma.ttf, tahomabd.ttf ไปวางที่โฟลเดอร์ WEB-INF/classes/fonts ของ jasperserver (โฟลเดอร์ที่ได้จากขั้นตอน 3)

เสร็จสิ้นขั้นตอน

1 comment:

worapot said...
This comment has been removed by the author.