版本:Jaspersoft iReport Designer 4.7.0
網上有很多文章說要去下載 iTextAsian.jar,其實這個版本裡已經包含了這個包了。目錄:D:\Jaspersoft\iReport-4.7.0\ireport\modules\ext
只需將這個包包含在iReport的classpath中,然後再進行適當的設定即可。
步驟:
1:工具,選項,iReport,classpath,Add JAR,選擇上述目錄中的 iTextAsian.jar,我連iText-2.1.7.jar一起選擇了,不知道到底需不需要,反正多了沒壞處,有心的同學可以試一下。
2:在報表中,比如一個靜態文本或者文本地區,選中它,在屬性面板中“ text properties ” 分組中設定:
Font name: 宋體
PDF font name: STSong-LightPDF Encoding: UniGB-UCS2-H(Chinese Siplified)
PDF Embeded: √
然後預覽下匯出pdf的顯示效果。
3:別急,還沒完,網上大部分文章到這裡就結束了,但是如果你把報表放到你的網站中,你會發現,在網站中匯出pdf時依然報錯。找不到宋體之類的。解決辦法:
將 iTextAsian.jar拷貝到WEB_INF\lib 中,然後將這個包添加到項目(網站)的Java Build Path中。到此,解決完畢。
=========================================================================
原本以為到這裡就結束了,其實以上部分僅僅是解決了在windows系統下的問題,如果將開發的網站部署到linux伺服器上,可能仍然會遇到以下問題:
net.sf.jasperreports.engine.util.JRFontNotFoundException: Font '宋體' is not available to the JVM. See the Javadoc for more details.
解決辦法參考我的另外一篇部落格。
PS:java真蛋痛啊。