java使用Poi-tl生成word处理特殊符号方框带勾选
原文链接:https://blog.csdn.net/qq_35147659/article/details/111976312
解决方法是给word模板里的替换变量指定字体,比如我在word模板里定义了一个{{test}},因为在word文档里如果字体设置为Wingdings 2时,按下R键会自动出现符号,所以可以在某个替换变量的地方指定值为R,设置字体为Wingdings 2。
word模板内容如下
关键代码如下
Map<String,Object> map = new HashMap<String, Object>();
map.put("test",new TextRenderData("R",new Style("Wingdings 2",14)));
这样生成word后就出现了前面的勾号同理,其它特殊符号也可以这么使用(其它符号就不是R键了,需要自己去查询对应的键位)
这边提供一些常用的键位
PS:生成的word文件在打开的电脑上一定要安装Wingdings 2 字体,否则会显示问号
补充一点:如果是想最终生成pdf文件的话,按照上面的设置,有时候字体可能会出现不能正常显示的问题,可以按照下面这样来解决
将
new TextRenderData("R",new Style("Wingdings 2",14))
替换成下面
new TextRenderData("\uF0FE",new Style("Wingdings",14))
这样pdf里面看到的效果就是正常的了
poi-tl jar包版本
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.10.0</version>
</dependency>