codecamp

6.3.配置JasperRep

在使用Jasperreports时,经常会遇到无法在PDF格式报表当中显示中文,这时需要我们修改报表中文字的下面三个属性实现:

1. Font : 宋体
2. Pdf Font Name : STSong-Light
3. Pdf Encoding :Identity-H (Unicode with horizontal writing)
还有一种情况,可能我们在本地测试的情况下报表显示正常,一旦部署到BDF2当中可能出现类似下面的字体找不到的异常:
字体找不到异常
net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'Arial' is not available to the JVM.
这种情况对于将应用部署到Linux操作系统环境下的应用特别常见,一旦您遇到这种问题,那么我们需要做的就是利用iReport将缺少的字体打包并放置我们应用的classpath环境下即可。iReport字体打包操作如下:
首先打开IReport的工具/选项/Fonts,点击Install Font:

点击浏览按钮,选择字体库的ttf文件。

点击完成,实现字体库的导入操作,这样在IReport设计器中就可以使用这些字体了,如果需要在web工程使用该字体库,则可以选择已配置的字体库(可以是多个),点击右侧的Export asextension按钮,将这些字体库导出成jar,放到classpath下使用,这样web应用就可以使用这些字体库,解决了中文问题。




6.2.在业务页面中使用报表
7.BDF2-UPLOADER
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }