最近使用ireport設計標簽模板,用戶要求使用Times New Roman加粗字體,但是、在ireport中選擇了如下,生成的pdf字體格式卻不變。
看了下jasperreports-fonts-4.5.1.jar下的文件,打開fonts.xml,發現沒有配置Times New Roman的字體文件,參考了http://blog.sina.com.cn/s/blog_a59b6d310102wjza.html,進行以下處理
1、打開電腦C:\Windows\Fonts,找到Times New Roman文件,復制出來粘貼到一個臨時文件夾,會發現變成4個ttf文件
2、直接用winrar解壓jasperreports-fonts-4.5.1.jar, 將4個ttf文件放到net.sf.jasperreports.fonts.dejavu包下,並在fonts.xml文件添加以下內容:
<fontFamily name="Times New Roman"> <normal>net/sf/jasperreports/fonts/dejavu/times.ttf</normal> <bold>net/sf/jasperreports/fonts/dejavu/timesbd.ttf</bold> <italic>net/sf/jasperreports/fonts/dejavu/timesi.ttf</italic> <boldItalic>net/sf/jasperreports/fonts/dejavu/timesbi.ttf</boldItalic> <pdfEncoding>Identity-H</pdfEncoding> <pdfEmbedded>true</pdfEmbedded> </fontFamily>
3、重新打包成jar,打開cmd命令行,打開到D:\jasperreports-fonts-4.5.1(我把jar包直接解壓到D盤),執行 jar cf jasperreports-fonts-4.5.1.jar * ,則生成jasperreports-fonts-4.5.1.jar,替換項目中的jar包,重新編譯就可以生成Times New Roman加粗字體的pdf了。下面上效果圖對比