最近要开发一个导出PDF的功能,将调查公司的征信报告以PDF的形式下载,并包含页眉、页脚、添加水印、图表、表格合并等功能。整个PDF文件导出来有接近2M的大小,完整内容大概有20多页,所以一开始为了简单,让前端帮忙提供html模板,后端转为Freemarker模板后进行生成。但是因为要动态添加页眉页脚,而且freemarker模板对设计给出的样式不能很好的支持,综合考虑之后还是使用IText自带的document来一点点的创建。
先看下PDF最终实现的效果,截图一些需要特殊关注实现的点。
先来一个平铺文字水印的,小图片是替换了的公司图标,可以忽略。
然后再是页眉和页脚,页眉是一个公司的logo以及公司的名称,页眉下面要有类似于Word文档的那种横线。页脚内容比较长,所以分为了两行,页脚包括报告的说明和当前第几页以及总页数。