讓ThinkingRock輸出的PDF可以顯示中文
之前提到使用ThinkingRock來實現GTD的概念,雖說ThinkingRock實作了GTD的全部功能,但是對於中文的使用者還是有一點不太方
便,其中比較大的問題便是輸出PDF的部份。輸出的PDF檔案並無法正確的顯示出中文來,文中的中文字全變成了方框,這是因為內附PDF使用的字型沒有支
援中文字,可以透過增加字型來讓PDF檔案可以出現中文。在官網的FAQ中有提到如何為PDF報表新增字型,可以參考這裡。由官網的說明可以知道ThinkingRock是使用Apache FOP來產生PDF報表。
如果對英文過敏的朋友,或是想知道一步步做法而已的朋友,可以參考“为ThinkingRock的REPORT添加中文字体”一文。按此文一步步操作,即可以加入字型到ThinkingRock中以供PDF輸出使用。
(1)由于ThinkingRock只内置了Courier、Helvetica和Times Roman三种字体,我们需要添加一种汉字字体,获得字体,我用的是WinXP的仿宋字体simfang.ttf。 (2) (3)复制simfang.ttf以及simfang.xml到ThinkingRock所在目录下的resource/fop子目录里; (4)编辑resource/fop/目录下的fop.xconf,在<fonts></fonts>段内增加几行,如下: <font metrics-url="simfang.xml" kerning="yes" embed-url="simfang.ttf"> <font-triplet name="Simfang" style="normal" weight="normal"/> </font> <font metrics-url="simfang.xml" kerning="yes" embed-url="simfang.ttf"> <font-triplet name="Simfang" style="normal" weight="bold"/> </font> <font metrics-url="simfang.xml" kerning="yes" embed-url="simfang.ttf"> <font-triplet name="Simfang" style="italic" weight="normal"/> </font> 至此,配置修改好了,打开ThinkingRock程序,在输出报告时字体选择“simfang”,PDF文件即显示正确的汉字。 更详细的说明参见How to add fonts for PDF reports |
我
試著以simsun.ttc去操作,是可以讓PDF文件正常顯示出中文而不再只是方框而已。但是同樣的作法用在ukai.ttf(文鼎PL中楷Uni)
上,卻仍無法讓中文順利出現,原本呈現方框的中文套用上ukai.ttf後反而都變成透明,什麼都看不到了,但是使用PDF文件中的複製功能,可以順利的
將文字複製出來。可以知道文字是有順利加入到文件中,但是不知什麼原因而無法正確的顯示出來,如有遇到相同問題的朋友,可以先用simsun.ttc來試
試看在做法上是否有問題,但是似乎simsun.ttc這個字型版權並不是開放的,所以在使用上請小心。
最後要提醒的是,fop.xconf檔案中的編輯,請小心位置,不要加錯地方,否則會徒勞無功的。加入的內容需注意加入的字型檔案名稱做適當的修改。以simsun.ttc為例,則內容應該如下
<!-- simsun Font -->
<font metrics-url="simsun.xml" kerning="yes" embed-url="simsun.ttc">
<font-triplet name="simsun" style="normal" weight="normal"/>
</font>
<font metrics-url="simsun.xml" kerning="yes" embed-url="simsun.ttc">
<font-triplet name="simsun" style="normal" weight="bold"/>
</font>
<font metrics-url="simsun.xml" kerning="yes" embed-url="simsun.ttc">
<font-triplet name="simsun" style="italic" weight="normal"/>
</font>
注
意紅色字體的部份,需視情況而加以修改的。當字型順利的加入後,還需設定在ThinkingRock的PDF輸出時使用的字體,設定的位置在
ThinkingRock主視窗的“Tools”==>“Options”==>“Miscellaneous”==>“Action
Screens”這個頁面中,可以看到PDF目前所使用的字型,只要將字型透過下拉式選單選到所要使用的那一個就可以了,如果在“Font”的下拉式選單
中沒看到新加入的字型,就表示加入失敗囉,請重新檢查一次看是否有那裡有問題。完成以上動作後,就可以讓ThinkingRock順利的輸出中文PDF
檔,也就可以列印出來帶在身上隨時看囉!
參考資訊:
[1] | “红旗下的蛋 - 为ThinkingRock的REPORT添加中文字体”; http://www.fallleaf.net/content/view/148/9/. |
[2] | “Thinking Rock FAQs”; http://www.thinkingrock.com.au/faq.php#faq6. |
請問大大
回覆刪除那個xml如何產生呢?
我找到這個網頁說明
http://sanji107.pixnet.net/blog/post/3929216
但是還是有看沒有懂
可以請你教我一下嗎?
很希望PDF可以用繁體中文輸出啊~
謝謝喔
不用下載FOP的,因為ThinkingRock裡面有。你可以照著這一頁網頁中的方框中的步驟一步步做應該就可以了。
回覆刪除