ireport字体无效处理

最近使用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了。下面上效果图对比

 

 

 

 

 

posted @ 2020-04-23 14:16  有忆  阅读(1139)  评论(0编辑  收藏  举报