jasperreport ireport创建PDF中文字体问题终极解决方法
2015-07-07 16:32
696 查看
公司做的项目需要用到ireport来设计报表并导出PDF,刚接触也跟很多人一样碰到了中文字体问题,网上找到了解决方法但觉得不够完美,普遍的解决方法是设置文本控件的pdf font name和pdf encoding属性,这种方法有几种问题,一个是加粗等效果没有作用,还一个是英文字母和数字的字体很不好看。
第二种方法就是导入字体的方法,我当初参考的例子是这个,/article/1477947.html,按照他的例子用仿宋字体确实可行,但我只是想用宋体,于是在系统文件夹里面找了个simsun.ttc的字体文件,结果报了这个错。
Font 'fonts/simsun.ttc' is not available to the JVM. See the Javadoc for more details.
貌似只能用ttf后缀的字体文件,于是我第一个想法是找一找有没有simsun.ttf这个的字体存在,百度了一下确实有人提供下载,但并没有说明文件的来源,而且我也有个癖好,就是能用一手的东西尽量用一手的。后来发现了有种叫ttc转ttf工具的东西,我用的是ttctools,它可以把ttf从ttc里面分离出来
你可以打开来预览一下,发现它分成了宋体和新宋体,这时拿这个FONT00.TTF去打包jar文件并放入项目,成功解决!
注意设计报表的时候,只需要设置font属性为宋体,其他PDF属性均保持默认即可。
Other:
1.字体打包jar文件并不需要像例子里面那样手动命令行,用ireport安装完字体,选中字体,右边有个Export as extension按钮便是打包。
2.我用的是jasperreports-5.6.0.jar,5.6版本的,之前用的5.5.1版本会出现字体大小不能调的问题。
fd
第二种方法就是导入字体的方法,我当初参考的例子是这个,/article/1477947.html,按照他的例子用仿宋字体确实可行,但我只是想用宋体,于是在系统文件夹里面找了个simsun.ttc的字体文件,结果报了这个错。
Font 'fonts/simsun.ttc' is not available to the JVM. See the Javadoc for more details.
貌似只能用ttf后缀的字体文件,于是我第一个想法是找一找有没有simsun.ttf这个的字体存在,百度了一下确实有人提供下载,但并没有说明文件的来源,而且我也有个癖好,就是能用一手的东西尽量用一手的。后来发现了有种叫ttc转ttf工具的东西,我用的是ttctools,它可以把ttf从ttc里面分离出来
你可以打开来预览一下,发现它分成了宋体和新宋体,这时拿这个FONT00.TTF去打包jar文件并放入项目,成功解决!
注意设计报表的时候,只需要设置font属性为宋体,其他PDF属性均保持默认即可。
Other:
1.字体打包jar文件并不需要像例子里面那样手动命令行,用ireport安装完字体,选中字体,右边有个Export as extension按钮便是打包。
2.我用的是jasperreports-5.6.0.jar,5.6版本的,之前用的5.5.1版本会出现字体大小不能调的问题。
fd
相关文章推荐
- ASP.NET MVC图片上传前预览
- DEV-aspxgridview中的aspcheckbox
- 七天学会ASP.NET MVC (五)――Layout页面使用和用户角色管理
- 七天学会ASP.NET MVC (四)――用户授权认证问题
- 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理
- 七天学会ASP.NET MVC (四)——用户授权认证问题
- 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理
- ASP.NET MVC图片管理(删除)
- [漏洞分析] CTF:ASP源码审计认证绕过
- 如何设置ASP.NET页面的运行超时时间
- asp.net Ajax的应用
- OData v4 - Web API 轻量级应用(使用Entity Framwork)-Endpoint
- ASP.NET MVC图片管理(上传,预览与显示)
- asp.net mvc 如何在View中获取Url参数的值
- ASP.NET MVC显示HTML字符串
- ASP.NET中使用Razor语法(C#)怎样获取当前浏览器的cookie
- 让Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
- 用Jasper制作贷款分期报表
- Spring基于注解@AspectJ的AOP
- ASP.NET MVC随想录——创建自定义的Middleware中间件