PDF导出工具有itext,但是itext对中文支持不好,还有样式CSS支持也不好,使用IReport比较复杂,上手不太容易,怎么办?
幸好有Flying-Saucer这个项目,帮助我们解决了以上问题!Flying-Saucer最重要的是很方便,不需要使用IReport的复杂操作,只会写html就能够做PDF导出的模板。
使用freemarker的思路
1、编写ftl模板
2、使用freemarker生成html
3、根据生成的html在生成PDF
来一张图片,否则无图无真相
项目依赖
依赖关系图
项目结构图
主要的操作类
PdfUtils
辅助类
模板文件
注意
本工具类提供了两种字体支持中文,所以定义样式的时候字体只能用:simsun或者arial unicode MS,否则中文显示不出来,如需其他字体另行添加),另外请注意图片的路径问题,html中z如果有图片,图片的路径则使用这里设置的路径的相对路径,这个是作为根路径,如
如果需要PDF的下载,可以通过generateToServletOutputStream这个方法来获取PDF的输出流,然后通过response写到客户端去
转载请注明来源:/flying-saucer-html-freemarker-pdf/