iReport的文件pdf字体设置及web项目中的应用

最近的项目一直在用iReport做报表,都是打印pdf文件的那种。从网上搜了n多信息,获益匪浅,总结了一下,并增加了一些自己的理解,不当之处还请留言指正。

1.iReport引入字体
a.工具——选项——classpath——add folder
可以引入任意位置的字体。
b.将要在打印pdf文件中使用的字体复制到 安装路径中Jaspersoft\iReport-nb-3.6.0\ireport\fonts下面。(本人用的是3.6)
2. 元素pdf属性的设置:
Pdf font name 的下拉框可能不会出现classpath中引入的字体(本人用的是win7,关闭了ireport 好多次后,新引入的字体在下拉框才出现),此时可以直接手工输入字体名称,上例:simkai.ttf
Pdf Embedded 选不选均可。
Pdf Encoding 一定要选:Identity-H (Unicode with horizontal writing)
3. 项目中配置
把pdf使用的字体放到项目的src或classes下即可。(网上看到一篇文章说3.7必须把字体打成jar包才行,不知真假,不过3.6的却是不用)
4. 关于粗体斜体
关于pdf是如何使用字体的,我实在不了解,我相信大部分人都不了解。
网上看到很多文章(其实说的是一个内容)说了两中解决方法:一种说源码有漏洞,建议更改源码,一种说在输出pdf时设置字体的输出样式。我本人觉得都不靠谱。jasperreports都发展到了3.7了,而且pdf这么重要的的功能,不可能留下如此漏洞让你去发现,而且我觉得除非十分必要,否则不要改这种源码。第二种方法不靠谱的地方在于同时存在同一种字体的粗体和斜体(字体+粗体、字体+斜体),估计这个方法就实现不了了。

我的解决方法:
下拉pdf font name 选项,会发现很多字体后面都有bold, italic。
所以只需要下载相应字体的粗体和斜体即可。
然后只需要将pdf font name设置成相应字体的粗体或斜体文件即可。 (中文的一些粗体斜体不好找)


2011-05-18补充:最近下载了新版的ireport,发现正如我所预想的那样:导入字体时分别要导入字体的粗体和斜体。
不能评论这样做是对是错。但这样可能对项目打包发布者需要更多的时间和耐心了。

jasperReports是建立在iText这上的一个框架,iText却不需要导入如此多的字体。只需要通过参数设置其粗体、斜体即可。也许是jasper基于更多的考虑才这样做。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值