概述
RTFTemplate 是一个RTF到RTF的引擎,它能够把RTF model(Template)(即模版:@me)和来自java对象的数据合并生成RTF document(即文档:@me).
自从1.0.1-b8 版本,RTFtemplate 被重新设计得更加模块化,如果你正在使用旧的RTFtemplate模版,你可以在这里获取旧文档
要使用RTFtemplate你必须:(为了达到原版效果,只好按英文习惯翻译了@me)
*设计你的RTF模版通过MS word使用merge fields(MERGERFIELD),hyperlinkfields(HYPERLINK)and书签(BOOKMARK ,用来管理循环的开始和结束).
*准备你的java对象的context
*组装你的RTF模版(Template)和你的java对象(Context)通过使用RTFTemplate
在组装之后,merge fields(MERGERFIELD)和hyperlinkfields(HYPERLINK)将被java中的对象中的数据所替换.BOOKMARK用来管理循环的开始和结束,如用在table中
想开始你的RTFTemplate,你可以去参考用户手册
RTFTemplate 生成过程有3步
*1.RTF 模型源码解析:加载RTF模型到RTFDocument结构体中,RTFDocument有整个RTF模型够成,在这个过程中它去掉了RTF模型元素(如RTFField,TRFBookmark)
*2.转换过程:RTFDocument被转化为:
~ 由被选择的模版引擎快速地使用具体的macro取代RTF代码(如:当使用Velocity引擎时使用#foreach替代标签(BOOKMARK)
~移除一些RTF代码.对于MERGEFIELD,RTFTemplate移除包括着 merge fields的字符".
这一步的结构产生出一个新的包含与被选择引擎有关的macro的RTFDocument
*3组装你的转化后的文档和java对象.在这一个步骤里使用你配置的模版引擎来组装,结果产生目标文档.
点击这里查看组装流程图