jasperreport json_jasperreport 下载_jasperreport动态报表(8)

电脑杂谈  发布时间:2017-01-14 19:11:57  来源:网络整理

jfreechart的支持不算完美,只是实现了部分的图表生成,但对于一般项目,也是足够用的。

数据,纵坐标数据,横坐标标签,纵坐标标签,分类标准等等),jasperreport+jfreechart会自动进行数据的分类统计输出,这点是很人性化的。

看过jasperreport的源代码,发现,图表在HTML格式输出的时候,首先是输出一张图片,或者放在具体目录下,或者放在临时的response

里,然后进行调用、输出展示。(如果选用后者的输出方式,需要注意:1.x版本后的输出需要对web.xml进行配置,配置一个servlet进行输

出。)这样就造成了一个问题,就是当多用户同时访问页面的时候,用户看到的数据是正确的,但是图片却可能是别人产生的图片!

这可能是由于HTML浏览器对图片的引用时机不对,解决的方案是这样的:由于HTML格式的输出是字符形式的(PDF是二进制流形式的),所以我们选择首

先把整个图表输出到字符缓冲区中,然后进行一次性输出,这样,我们辅助浏览器完成对图片引用时机的修正。当然,也可以这样做:通过修改源代码,把图片输出

到不同的临时目录,这样的话,想引用错基本都不可能了J

在HTML输出的时候,一定要记得设置编码格式,通过exporter的CHARACTER_ENCODING属性来设置。而且,在HTML中输出的时

候,可以不对报表进行分页操作,即取消分页。

还有,jfreechart默认输出的图片是进行抗锯齿处理过的。对于图形来说,这样会让图像显示的更圆润,而对于文字来说,可能就会显示变得模糊。解决

方案:修改源代码。可以修改jasperreport的源代码,也可以修改jfreechart的源代码,只需按照如下代码进行改进即可:

jfreechart.getRenderingHints().put(RenderingHints._ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);

上面的代码将图片输出的文本抗锯齿关闭,而图像依然有抗锯齿处理,所以图片相对好看。不过,有一点需要注意:字体尽量是宋体,字号最好在12到14之间,

这样能达到最好的显示效果。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-26308-8.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...