flying saucer

java使用Freemarker、Flying sauser生成pdf,中文不显示、设置页眉、换页、红色中文字体不能加粗显示、中文不能换行解决

微笑、不失礼 提交于 2021-02-13 21:40:52
因为做这个很坑,花了几天时间,终于爬出来了,为了实现功能,借鉴了很多代码,找起来很麻烦,现整合一下,方便使用,所以记录下。 首先上两个效果图: 需求图1: demo图2: 做了个demo导出pdf,demo的看不出换行,懒得去加数据了,所以把自己用的图发出来。 本人使用的jar包: freemarker-2.3.22.jar,flying-saucer-core-9.1.16.jar,flying-saucer-pdf-9.1.16.jar,itext-4.2.0.jar, serializer-2.7.1.jar(遇到java.lang.NoClassDefFoundError: org/apache/xml/serializer/TreeWalker,丢失这个jar,可以加上去) jar包地址: maven repository 下载 因为工作上需要,第一次做导出pdf,word,然后入了Freemarker的坑。开始做pdf导出,由于项目中已经有了类似导出,我就用itextpdf来导出生成pdf,后面又需要生成word,在系统上没有发现类似功能,一直复制别人写的代码早就想练练手了,所以查阅了下生成word的几种方式,后面选了Freemarker,这是最简单的方式,也是很快就把word生成了。后面用户说这个pdf样式不合格,被怼了回来, 完成的比较匆忙,可能有很多itext