#0 背景
工作需要实现导出PDF的功能,在进行简单调研后,我决定采用Freemarker + iTextRender进行实现。
基本思路如下:
- Freemarker实现根据动态数据渲染出需要导出的HTML
- iTextRender实现从HTML导出成PDF
#1 Freemarker 渲染导出页面
FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。
MVC逻辑架构如下图:
# 1.1 模板准备
Freemarker使用的模板文件后缀为FTL(Free marker Template Language),使用Freemarker专有的语法。其基本结构类似于静态