ตามชื่อเลยครับ Auto-responder หรือบางคนก็เรียกว่า auto reply ปกติแล้วการทำ auto-reply มันจะง่ายมากถ้าหากเป็นการติดตั้ง postfix แบบ domain เดียว เพราะค่า configure ต่าง ๆ สำหรับแต่ละ user ก็จะเป็นการกำหนดค่าของแต่ละ user ใน home directory นั่นเอง
แต่พอเป็น Virtual Domain/ User เราก็ต้องมาศึกษากันอีกทีว่าทำอย่างไร
พูดถึง Postfix พอเราไปดูก็จะพบว่า การใช้งาน Autoresponse ไม่ได้พูดถึงมานานแล้ว ก็คงเป็นเพราะว่าเดี๋ยวนี้เป็นการติดต่อแบบ realtime คือใช้งานผ่าน มือถือ social network แล้ว
แต่ก็ขอเขียนไว้ที่นี่ถึงวิธีการสักหน่อยเผื่อต้องใช้งาน auto-reply กันจริง ๆ
เริ่มจาก หน้านี้ http://workaround.org/ispmail/etch ก็จะพูดไว้ว่ามีคนทำ add-on ไว้เหมือนกันที่ http://www.remofritzsche.ch/goldfish/ แต่ก็อยากให้ไปอ่านต่อที่ http://eugenesklyar.com/roundcube-autoresponder-goldfish-autoreply-plugin เพื่อติดตั้ง plug-in ของ roundcube เพื่อเปิดให้ user ทำการกำหนดค่าเองได้ด้วย
พอผมมาดูก็ปรากฏว่าต้องมีการแก้ไขบางอย่างอีกนิดหน่อยกว่าจะใช้งานได้
แก้ไขไฟล์ autoresponder.php (ที่ได้จาก http://www.remofritzsche.ch/goldfish/ ตอนนั้นเป็น Version 1.0-STABLE)
/* General */
$conf['cycle'] = 5 * 60;
/* Logging */
$conf['log_file_path'] = "/var/log/autoreply";
$conf['write_log'] = true;
# This query has to return the path (`path`) of the corresponding
# maildir-Mailbox with email-address %m
$conf['q_mailbox_path'] = "SELECT CONCAT('/home/vmail/', SUBSTRING_INDEX(email,'@',-1), '/', SUBSTRING_INDEX(email,'@',1), '/Maildir/') as `path` FROM virtual_users WHERE `email` = '%m'";
# This query has to return the following fields from the autoresponder table: `from`, `to`, `email`, `message` where `enabled` = 2
$conf['q_forwardings'] = "SELECT * FROM `autoresponder` WHERE `enabled` = 1 AND `force_enabled` = 1;";
# This query has to activate every autoresponder entry which starts today
$conf['q_enable_forwarding'] = "UPDATE `autoresponder` SET `enabled` = 1 WHERE `from` >= CURDATE();";
ภายหลังจากของใช้งานจาก /usr/bin/php autoresponder.php แล้วก็จะพบว่ามีการส่ง email ออกไปแล้วตามกำหนดค่าของ $conf['cycle'] คือเป็นการกำหนดว่าจะทำการส่ง auto-reply ให้กับ email ที่ส่งเข้ามาหา user คนนี้ไม่เกิน 5 นาที (5x60 วินาทีนั่นเอง)
วันพฤหัสบดีที่ 23 กุมภาพันธ์ พ.ศ. 2555
วันอังคารที่ 14 กุมภาพันธ์ พ.ศ. 2555
ระบบต่อไป อะไรเอ๋ย?
ระบบต่อไป... อะไรเอ๋ย?
ดูเหมือนช่วงนี้วุ่น ๆ กับการติดตั้งเพื่อใช้งานระบบ นี่ก็พึ่งจะได้ระบบ Survey มาใช้งาน ด้วยระยะเวลาอันน้อยนิด
ต่อมาคงเป็นระบบประมาณนี้
http://www.postgis.org/ documentation/casestudies/ 2008-09-rento/
แนวคิดแบบนี้จะติดตามมาอีกเยอะใ นอนาคต เช่น
ดูเหมือนช่วงนี้วุ่น ๆ กับการติดตั้งเพื่อใช้งานระบบ นี่ก็พึ่งจะได้ระบบ Survey มาใช้งาน ด้วยระยะเวลาอันน้อยนิด
ต่อมาคงเป็นระบบประมาณนี้
http://www.postgis.org/
แนวคิดแบบนี้จะติดตามมาอีกเยอะใ
- จากตรงนี้ โรงหนังที่กำลังจะฉายเรื่อง Titanic ณ เวลา 14:00 น. มีที่ไหนบ้าง โดยใช้เวลาเดินทางไม่เกิน 30 นาที
- ข้าวขาหมู อร่อย ๆ ที่ยังไม่เคยไปกิน และมีเพื่อนอยู่ใกล้ ตรงนั้น (จะได้ชวนกันไป)
วันศุกร์ที่ 30 กันยายน พ.ศ. 2554
Manually Build Pentaho Bi-Server on Debian
อ้างอิงจาก http://www.prashantraju.com/2010/03/customising-the-pentaho-user-console-part-3/ และ http://phytodata.wordpress.com/2011/01/17/how-to-build-the-pentaho-biserver/
เหตุเกิดก็ตอนที่ต้องการจะ build pentaho เพื่อแก้ไข menu ตาม page ที่อ้างอิงนั้นแหละ แต่ไม่อยากติดตั้ง Eclipe เพราะว่ามันใหญ่เกินไป
ก็เลยต้องทำการ build บน Debian มาเริ่มกันเลย
ติดตั้ง package ที่จำเป็น
# aptitude install sun-java6-bin sun-java6-jre sun-java6-jdk sun-java6-plugin sun-java6-fonts ant
# update-alternatives --config java
ติดตั้ง subversion
# aptitude install subversion
checkout pentaho
$ mkdir sources
$ svn co http://source.pentaho.org/svnroot/bi-platform-v2/tags/3.8.0-stable bi-3.8-stable
เริ่ม build กัน
$ cd bi-3.8-stable
$ cd bi-platform-build
$ ant -v publish-all
ผมใช้เวลาไปประมาณ 1 ชั่วโมง เพราะว่า internet มันช้าเกิน
เหตุเกิดก็ตอนที่ต้องการจะ build pentaho เพื่อแก้ไข menu ตาม page ที่อ้างอิงนั้นแหละ แต่ไม่อยากติดตั้ง Eclipe เพราะว่ามันใหญ่เกินไป
ก็เลยต้องทำการ build บน Debian มาเริ่มกันเลย
ติดตั้ง package ที่จำเป็น
# aptitude install sun-java6-bin sun-java6-jre sun-java6-jdk sun-java6-plugin sun-java6-fonts ant
# update-alternatives --config java
ติดตั้ง subversion
# aptitude install subversion
checkout pentaho
$ mkdir sources
$ svn co http://source.pentaho.org/svnroot/bi-platform-v2/tags/3.8.0-stable bi-3.8-stable
เริ่ม build กัน
$ cd bi-3.8-stable
$ cd bi-platform-build
$ ant -v publish-all
ผมใช้เวลาไปประมาณ 1 ชั่วโมง เพราะว่า internet มันช้าเกิน
แก้ไขส่วน Mantle
$ cd mantle
แล้วทำการแก้ไข menu ที่ต้องการตามเอกสารอ้างอิง
จากนั้นก็ compile ใหม่
$ ant
แล้วก็ copy mantle, mantleLogin และ mantle-3.5.0.stable.jar
... เดี๋ยวขอเขียนไว้เท่านี้ก่อน รายละเอียดจะมาใส่ที่หลัง
วันอังคารที่ 20 กันยายน พ.ศ. 2554
postgresql cluster บน Debian
เป็นที่เข้าใจกันว่าหากทำการติดตั้ง PostgreSQL แล้ว package manager จะทำการกำหนดค่าต่าง ๆ ไว้ รวมถึง Folder ที่เก็บ Data
แต่โดยส่วนมากแล้วผมจะสร้าง partition ไว้สำหรับเก็บ Data ไว้ต่างหาก ทำให้เวลาจะใช้งาน PostgreSQL ทีไร ต้องมาทำการแก้ไขค่า configure ต่าง ๆ ยุ่ง
มาคราวนี้ทาง Package นั้นมีเครื่องมือต่าง ๆ ไว้ให้เล่นอีกมากมาย เช่น
# pg_lsclusters
Version Cluster Port Status Owner Data directory Log file
8.4 main 5432 online postgres /var/lib/postgresql/8.4/main /var/log/postgresql/postgresql-8.4-main.log
ลบ cluster เดิมออก
# pg_dropcluster --stop 8.4 main
สร้าง Folder ไว้รอก่อน
# mkdir -p /db/PGDATA
สร้าง cluster
Moving configuration file /db/PGDATA/8.4/main/postgresql.conf to /etc/postgresql/8.4/main...
Moving configuration file /db/PGDATA/8.4/main/pg_hba.conf to /etc/postgresql/8.4/main...
Moving configuration file /db/PGDATA/8.4/main/pg_ident.conf to /etc/postgresql/8.4/main...
Configuring postgresql.conf to use port 5432...
5 Nov 2012:
วันนี้พอเอกสารอ้างอิง อีกอันทีนี่ http://people.debian.org/~mpitt/architecture.html
แต่โดยส่วนมากแล้วผมจะสร้าง partition ไว้สำหรับเก็บ Data ไว้ต่างหาก ทำให้เวลาจะใช้งาน PostgreSQL ทีไร ต้องมาทำการแก้ไขค่า configure ต่าง ๆ ยุ่ง
มาคราวนี้ทาง Package นั้นมีเครื่องมือต่าง ๆ ไว้ให้เล่นอีกมากมาย เช่น
- pg_createcluster
- pg_dropcluster
- pg_upgradecluster
- pg_ctlcluster
- pg_lsclusters
ผมเลยขอย้าย Data Directory ไปไว้ที่ /db/PGDATA/8.4/main
เริ่มจาก ตรวจดูก่อนว่า cluster เดิมของเราอยู่ที่ไหน
# pg_lsclusters
Version Cluster Port Status Owner Data directory Log file
8.4 main 5432 online postgres /var/lib/postgresql/8.4/main /var/log/postgresql/postgresql-8.4-main.log
ลบ cluster เดิมออก
# pg_dropcluster --stop 8.4 main
สร้าง Folder ไว้รอก่อน
# mkdir -p /db/PGDATA
สร้าง cluster
# pg_createcluster -u postgres -d /db/PGDATA/8.4/main --locale=en_US.utf8 --start --start-conf=auto 8.4 main
Creating new cluster (configuration: /etc/postgresql/8.4/main, data: /db/PGDATA/8.4/main)...Moving configuration file /db/PGDATA/8.4/main/postgresql.conf to /etc/postgresql/8.4/main...
Moving configuration file /db/PGDATA/8.4/main/pg_hba.conf to /etc/postgresql/8.4/main...
Moving configuration file /db/PGDATA/8.4/main/pg_ident.conf to /etc/postgresql/8.4/main...
Configuring postgresql.conf to use port 5432...
ตรวจดูความเรียบร้อย
# pg_lsclusters
Version Cluster Port Status Owner Data directory Log file
8.4 main 5432 online postgres /db/PGDATA/8.4/main /var/log/postgresql/postgresql-8.4-main.log
เรียกได้ว่าเหนื่อยน้อยลงเยอะ
วันนี้พอเอกสารอ้างอิง อีกอันทีนี่ http://people.debian.org/~mpitt/architecture.html
วันพุธที่ 27 กรกฎาคม พ.ศ. 2554
exfat
ผมมักจะมีปัญหากับ usbdisk โดยเฉพาะอย่างยิ่งเวลาต้องใช้งานทั้ง 3 ระบบ คือ Mac, Linux และ Windows
แรก ๆ ก็ใช้ file system เป็น fat แต่พอติดปัญหาเรื่องของขนาดของข้อมูลที่มีปริมาณมาก ๆ ก็ใช้งานไม่ได้ อีกทั้งเดี๋ยวนี้ไม่ค่อยมีเครื่อง Windows ใช้งานเท่าไหร่
สุดท้ายก็มาลงตัวที่ exFat มันใช้ได้ทั้ง Windows, Linux และ Mac
ส่วนการใช้งาน exFat บน Linux นั้นต้องติดตั้ง package ตามนี้ก่อน
Debian # aptitude install scons
Debian # wget http://exfat.googlecode.com/files/fuse-exfat-0.9.5.tar.gz
Debian # cd fuse-exfat-0.9.5
Debian # scons install
Debian # mkdir /media/exfat
Debian # modprobe fuse
Debian # mount.exfat /dev/sda1 /media/exfat/
Debian # echo 'fuse' >> /etc/modules
เท่านี้เราก็สามารถใช้งาน usbdisk ที่เป็น exfat ได้แล้วครับ
แรก ๆ ก็ใช้ file system เป็น fat แต่พอติดปัญหาเรื่องของขนาดของข้อมูลที่มีปริมาณมาก ๆ ก็ใช้งานไม่ได้ อีกทั้งเดี๋ยวนี้ไม่ค่อยมีเครื่อง Windows ใช้งานเท่าไหร่
สุดท้ายก็มาลงตัวที่ exFat มันใช้ได้ทั้ง Windows, Linux และ Mac
ส่วนการใช้งาน exFat บน Linux นั้นต้องติดตั้ง package ตามนี้ก่อน
Debian # aptitude install scons
Debian # wget http://exfat.googlecode.com/files/fuse-exfat-0.9.5.tar.gz
Debian # cd fuse-exfat-0.9.5
Debian # scons install
Debian # mkdir /media/exfat
Debian # modprobe fuse
Debian # mount.exfat /dev/sda1 /media/exfat/
Debian # echo 'fuse' >> /etc/modules
เท่านี้เราก็สามารถใช้งาน usbdisk ที่เป็น exfat ได้แล้วครับ
วันพุธที่ 20 กรกฎาคม พ.ศ. 2554
Madoka
วันนี้ต้องโทรไปต่างประเทศ เพื่อทำการสมัครเป็นผู้พัฒนาของ Apple โดยทำการแจ้งรหัสอะไรสักอย่างหนึ่ง ให้ทาง Apple นั้นทราบ
พอดีคนที่ต้องคุยด้วยไม่อยู่ ก็เลยได้คุยกับคนอื่นแทน เธอชื่อว่า "Madoka"
จำได้ว่าชื่อนี้เป็นตัวละครในหนังสือการ์ตูนเรื่อง "Orange Road"
อิอิ Ayukawa Madoka
พอดีคนที่ต้องคุยด้วยไม่อยู่ ก็เลยได้คุยกับคนอื่นแทน เธอชื่อว่า "Madoka"
จำได้ว่าชื่อนี้เป็นตัวละครในหนังสือการ์ตูนเรื่อง "Orange Road"
อิอิ Ayukawa Madoka
วันจันทร์ที่ 4 กรกฎาคม พ.ศ. 2554
jpivot กับการพิมพ์เป็น pdf ภาษาไทย
เมื่อเราใช้งาน pentaho analysis (ที่จริงก็เป็น mondrian และ jpivot) เรามีวิธีที่จะพิมพ์หน้ากระดานวิเคราะห์ไปได้ 3 ทางคือ
- พิมพ์เป็นหน้า web
- พิมพ์เป็น pdf
- พิมพ์เป็น excel
แต่ถ้าคุณต้องการพิมพ์เป็น pdf หละก็ สำหรับภาษาไทย มันมีปัญหาตามมาคือ ตัวอักษรภาษาไทยจะเป็น "#####" นั่นเอง
ปัญหาที่ผมเจอนั้น เคยได้ให้น้องลองทำดูแล้ว แต่ก็ติดปัญหาตรงที่ไม่เข้าใจวิธีการ export เป็น pdf ของ jpivot คราวนี้ผมก็เลยต้องลงมือแก้ไขเอง มาดูวิธีการแก้ไขของผมว่ามันมีแนวอย่างไรบ้าง
ตั้งแต่ jpivot 1.6 นั้น มีการเพิ่มความสามารถในการกำหนดฟอนท์ได้ และก็โชคดีที่ว่า ผมใช้ jpivot 1.8 พอดี
แต่ก็โชคร้ายที่ลิงค์ของ "FOP Fonts Howto" ไม่สามารถเข้าใช้งานได้ (หลาย ๆ คนหยุดความพยายามที่ตรงนี้ แต่ผมไม่ ! ..)
FOP นั้นแท้จริงแล้วเป็นหนึ่งในโครงการของ apache (Apache FOP) เป็นการเปลี่ยนการแสดงผลของ xls formating objects ไปยัง ไฟล์ชนิดอื่น ๆ แต่หลัก ๆ คือ PDF ที่เราต้องการนั่นเอง
มาเร่ิมกัน
เริ่มจาก คุณต้องมี Java ก่อน แล้วก็ download อันนี้ http://xmlgraphics.apache.org/fop/download.html โดยผมเลือก download binary เพราะว่า แค่ต้องการนำมาใช้ไม่ใช่แก้ไข
super_server_: ~ user$ wget http://mirrors.issp.co.th/apache//xmlgraphics/fop/binaries/fop-1.0-bin.tar.gz
super_server_: ~ user$ tar xzvf fop-1.0-bin.tar.gz
super_server_: ~ user$ cd fop-1.0
font อะไรดี
ที่จริงแล้วเวลาจะเลือก Font ที่จะมาใช้นั้น ผมก็เลือกเอาจากในเครื่องที่ใช้นี่แหละ แค่ต้องหาให้ได้ว่าเราควรใช้ฟอนท์ประเภทใด (http://xmlgraphics.apache.org/fop/1.0/fonts.html) ของผมเลือก TrueType Font
ก็ทำการ copy font ที่ต้องการมาทั้งในส่วนของ normal, bold, italic, bold italic
super_server_: ~ user/fop-1.0$ cp ../path/fonts/myfont*.ttf .
output ที่เราจะได้จากการใช้ fop คือ font metrics ที่เป็น xml
super_server_: ~ user/fop-1.0$ java -cp build/fop.jar:lib/avalon-framework-4.2.0.jar:lib/commons-logging-1.0.4.jar:lib/commons-io-1.3.1.jar:lib/xmlgraphics-commons-1.4.jar org.apache.fop.fonts.apps.TTFReader myfont.ttf myfont.xml
ก็ทำอย่างนี้ไปจนครบทุก font
# bold font
super_server_: ~ user/fop-1.0$ java -cp build/fop.jar:lib/avalon-framework-4.2.0.jar:lib/commons-logging-1.0.4.jar:lib/commons-io-1.3.1.jar:lib/xmlgraphics-commons-1.4.jar org.apache.fop.fonts.apps.TTFReader myfontb.ttf myfontb.xml
# italic font
super_server_: ~ user/fop-1.0$ java -cp build/fop.jar:lib/avalon-framework-4.2.0.jar:lib/commons-logging-1.0.4.jar:lib/commons-io-1.3.1.jar:lib/xmlgraphics-commons-1.4.jar org.apache.fop.fonts.apps.TTFReader myfonti.ttf myfonti.xml
# bold-italic font
super_server_: ~ user/fop-1.0$ java -cp build/fop.jar:lib/avalon-framework-4.2.0.jar:lib/commons-logging-1.0.4.jar:lib/commons-io-1.3.1.jar:lib/xmlgraphics-commons-1.4.jar org.apache.fop.fonts.apps.TTFReader myfontbi.ttf myfontbi.xml
ดังนั้นเราจะได้ไฟล์ที่ใช้งานมาคือ
ติดตั้ง
เมื่อได้ไฟล์ที่ต้องการทั้ง 8 ไฟล์แล้ว ก็นำไปไว้ที่ biserver-ce-3.8.0-stable/biserver-ce/tomcat/webapps/pentaho/WEB-INF/jpivot
# copy fonts and font-metrics ไปยัง jpivot/print
super_server_: ~ user/fop-1.0$ cp myfont*.* biserver-ce-3.8.0-stable/biserver-ce/tomcat/webapps/pentaho/WEB-INF/jpivot
# edit config file
super_server_: ~ user/fop-1.0$ cd biserver-ce-3.8.0-stable/biserver-ce/tomcat/webapps/pentaho/WEB-INF/jpivot
super_server_: ~ user/fop-1.0$ vi userconfig.xml
ในไฟล์ userconfig.xml ก็จะบอกวิธีการแก้ไขและตัวอย่างไว้ให้แล้วนะ ของผมแก้ไขเป็นดังนี้
อันที่จริงแล้วแค่นี้ก็ดูเหมือนจะใช้ได้ตามที่มีผู้เขียนไว้ที่ http://wiki.pentaho.com/display/ServerDoc2x/Fonts+in+Pentaho แต่ไม่ใช่อย่างนั้น ภาษาที่ได้ออกมายังคงเป็น "####" เหมือนเดิม
fop มันทำงานตอนไหน
หลังจากทดลองแล้วไม่ได้ผล ผมจึงหยุดพักแล้วกลับมาเริ่มใหม่อยู่ 3-4 ครั้ง ก็ปรากฏว่าผลยังคงเหมือนเดิม นั้นคือ "####" หลาย ๆ คนคงท้อ และเลิกไป แต่ก็อีกแหละ ผมมีความรู้สึกว่า วิธีการที่เขียนไว้ http://wiki.pentaho.com/display/ServerDoc2x/Fonts+in+Pentaho มันยังขาดอะไรอยู่บางอย่าง จึงพยายามค้นหาว่าสิ่งนั้นคืออะไร สุดท้ายก็ได้คำตอบว่า ไฟล์ fo มันอยู่ไหน ตามนี้ (http://forums.pentaho.com/showthread.php?58744-JPivot-PDF-report-template&highlight=fo_mdxtable.xsl)
ไฟล์ fo ที่เป็นต้นแบบในการแสดงผลของ mdx table นั้นอยู่ที่ biserver-ce-3.8.0-stable/biserver-ce/tomcat/webapps/pentaho/WEB-INF/jpivot/table/fo_mdxtable.xsl
#edit font-family ให้เป็น font-family ที่เราต้องการใช้งาน
super_server_: ~ user$ vi biserver-ce-3.8.0-stable/biserver-ce/tomcat/webapps/pentaho/WEB-INF/jpivot/table/fo_mdxtable.xsl
ในที่สุดผมก็ได้ pdf ที่พิมพ์ภาษาไทยได้สวยงาม แม้ใน chart ของ jpivot เองก็ตาม
แต่ก็โชคร้ายที่ลิงค์ของ "FOP Fonts Howto" ไม่สามารถเข้าใช้งานได้ (หลาย ๆ คนหยุดความพยายามที่ตรงนี้ แต่ผมไม่ ! ..)
FOP นั้นแท้จริงแล้วเป็นหนึ่งในโครงการของ apache (Apache FOP) เป็นการเปลี่ยนการแสดงผลของ xls formating objects ไปยัง ไฟล์ชนิดอื่น ๆ แต่หลัก ๆ คือ PDF ที่เราต้องการนั่นเอง
มาเร่ิมกัน
เริ่มจาก คุณต้องมี Java ก่อน แล้วก็ download อันนี้ http://xmlgraphics.apache.org/fop/download.html โดยผมเลือก download binary เพราะว่า แค่ต้องการนำมาใช้ไม่ใช่แก้ไข
super_server_: ~ user$ wget http://mirrors.issp.co.th/apache//xmlgraphics/fop/binaries/fop-1.0-bin.tar.gz
super_server_: ~ user$ tar xzvf fop-1.0-bin.tar.gz
super_server_: ~ user$ cd fop-1.0
font อะไรดี
ที่จริงแล้วเวลาจะเลือก Font ที่จะมาใช้นั้น ผมก็เลือกเอาจากในเครื่องที่ใช้นี่แหละ แค่ต้องหาให้ได้ว่าเราควรใช้ฟอนท์ประเภทใด (http://xmlgraphics.apache.org/fop/1.0/fonts.html) ของผมเลือก TrueType Font
ก็ทำการ copy font ที่ต้องการมาทั้งในส่วนของ normal, bold, italic, bold italic
super_server_: ~ user/fop-1.0$ cp ../path/fonts/myfont*.ttf .
output ที่เราจะได้จากการใช้ fop คือ font metrics ที่เป็น xml
super_server_: ~ user/fop-1.0$ java -cp build/fop.jar:lib/avalon-framework-4.2.0.jar:lib/commons-logging-1.0.4.jar:lib/commons-io-1.3.1.jar:lib/xmlgraphics-commons-1.4.jar org.apache.fop.fonts.apps.TTFReader myfont.ttf myfont.xml
ก็ทำอย่างนี้ไปจนครบทุก font
# bold font
super_server_: ~ user/fop-1.0$ java -cp build/fop.jar:lib/avalon-framework-4.2.0.jar:lib/commons-logging-1.0.4.jar:lib/commons-io-1.3.1.jar:lib/xmlgraphics-commons-1.4.jar org.apache.fop.fonts.apps.TTFReader myfontb.ttf myfontb.xml
# italic font
super_server_: ~ user/fop-1.0$ java -cp build/fop.jar:lib/avalon-framework-4.2.0.jar:lib/commons-logging-1.0.4.jar:lib/commons-io-1.3.1.jar:lib/xmlgraphics-commons-1.4.jar org.apache.fop.fonts.apps.TTFReader myfonti.ttf myfonti.xml
# bold-italic font
super_server_: ~ user/fop-1.0$ java -cp build/fop.jar:lib/avalon-framework-4.2.0.jar:lib/commons-logging-1.0.4.jar:lib/commons-io-1.3.1.jar:lib/xmlgraphics-commons-1.4.jar org.apache.fop.fonts.apps.TTFReader myfontbi.ttf myfontbi.xml
ดังนั้นเราจะได้ไฟล์ที่ใช้งานมาคือ
- myfont.ttf
- myfont.xml
- myfontb.ttf
- myfontb.xml
- myfonti.ttf
- myfonti.xml
- myfontbi.ttf
- myfontbi.xml
ติดตั้ง
เมื่อได้ไฟล์ที่ต้องการทั้ง 8 ไฟล์แล้ว ก็นำไปไว้ที่ biserver-ce-3.8.0-stable/biserver-ce/tomcat/webapps/pentaho/WEB-INF/jpivot
# copy fonts and font-metrics ไปยัง jpivot/print
super_server_: ~ user/fop-1.0$ cp myfont*.* biserver-ce-3.8.0-stable/biserver-ce/tomcat/webapps/pentaho/WEB-INF/jpivot
# edit config file
super_server_: ~ user/fop-1.0$ cd biserver-ce-3.8.0-stable/biserver-ce/tomcat/webapps/pentaho/WEB-INF/jpivot
super_server_: ~ user/fop-1.0$ vi userconfig.xml
ในไฟล์ userconfig.xml ก็จะบอกวิธีการแก้ไขและตัวอย่างไว้ให้แล้วนะ ของผมแก้ไขเป็นดังนี้
อันที่จริงแล้วแค่นี้ก็ดูเหมือนจะใช้ได้ตามที่มีผู้เขียนไว้ที่ http://wiki.pentaho.com/display/ServerDoc2x/Fonts+in+Pentaho แต่ไม่ใช่อย่างนั้น ภาษาที่ได้ออกมายังคงเป็น "####" เหมือนเดิม
fop มันทำงานตอนไหน
หลังจากทดลองแล้วไม่ได้ผล ผมจึงหยุดพักแล้วกลับมาเริ่มใหม่อยู่ 3-4 ครั้ง ก็ปรากฏว่าผลยังคงเหมือนเดิม นั้นคือ "####" หลาย ๆ คนคงท้อ และเลิกไป แต่ก็อีกแหละ ผมมีความรู้สึกว่า วิธีการที่เขียนไว้ http://wiki.pentaho.com/display/ServerDoc2x/Fonts+in+Pentaho มันยังขาดอะไรอยู่บางอย่าง จึงพยายามค้นหาว่าสิ่งนั้นคืออะไร สุดท้ายก็ได้คำตอบว่า ไฟล์ fo มันอยู่ไหน ตามนี้ (http://forums.pentaho.com/showthread.php?58744-JPivot-PDF-report-template&highlight=fo_mdxtable.xsl)
ไฟล์ fo ที่เป็นต้นแบบในการแสดงผลของ mdx table นั้นอยู่ที่ biserver-ce-3.8.0-stable/biserver-ce/tomcat/webapps/pentaho/WEB-INF/jpivot/table/fo_mdxtable.xsl
#edit font-family ให้เป็น font-family ที่เราต้องการใช้งาน
super_server_: ~ user$ vi biserver-ce-3.8.0-stable/biserver-ce/tomcat/webapps/pentaho/WEB-INF/jpivot/table/fo_mdxtable.xsl
ในที่สุดผมก็ได้ pdf ที่พิมพ์ภาษาไทยได้สวยงาม แม้ใน chart ของ jpivot เองก็ตาม
สมัครสมาชิก:
บทความ (Atom)