word:
poi-tl(强推):http://deepoove.com/poi-tl/
freemaker:https://www.cnblogs.com/lichmama/p/6652161.html
pdf:
itext(强推):https://www.cnblogs.com/h--d/p/6150320.html
pdf-box:https://blog.csdn.net/qq_37022150/article/details/79486730

根据以上博客编写的实践demo:
https://github.com/PrettyPanda/word.pdf

poi-tl纯java代码编写,简小,可扩展性很高,不需要将word文件进行转换,使用很方便,强烈推荐。样式不容易出现问题,文本替换保持原样式很good。
freemaker需要将word格式转换成xml,再更改格式为ftl,还要进行标签的替换,很不方便。样式也很容易出现问题。
itext和pdf-box功能上都很强大,但是pdf-box对中文很不友好,itext加入itext-asian jar即可解决中文问题。所以推荐itext