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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2019-11-04 HTTPS建立连接的过程
2019-11-04 常见的序列化框架及Protobuf序列化原理