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>

posted @ 2022-11-04 17:55  枫树湾河桥  阅读(3834)  评论(0编辑  收藏  举报
Live2D