读书人

Freemarker+Flying sauser +Itext 调整

发布时间: 2012-10-29 10:03:53 作者: rapoo

Freemarker+Flying sauser +Itext 整合生成PDF

???? Freemarker、Flying sauser 、Itext ,这三个框架的作用就不详细介绍了,google一下就知道了。

Itext提供了很多底层的API,让我们可以用java代码画一个pdf出来,但是很不灵活,布局渲染代码都hard code 进java类里面了。

当需求发生改变时,哪怕只需要更改一个属性名,我们都要重新修改那段代码,很不符合开放关闭的原则。想到用模版来做渲染,但自己实现起来比较繁琐,然后google了下,找到了用freemarker做模版,Flying sauser 照着模版做渲染,让Itext做输出生成PDF的方案。

?

?? freemarker和itext都比较熟悉了,Flying sauser 第一次听说,看完官方的user guide(http://flyingsaucerproject.github.com/flyingsaucer/r8/guide/users-guide-R8.html)后,自己着手做了个demo实践:

?

??? Freemarker+Flying sauser +Itext 调整生成PDF

??? 测试数据模型:

?

?

最后写个测试用例看看:

?

读书人网 >PowerDesigner

热点推荐