这里记录一个工作中遇到的docker部署后的Excel转Pdf的字体缺失问题
与大多数情况不同,该字体缺失并不是文字缺失,而是符号缺失,具体为□与√(带框)
其中□并未缺失。
在使用占位符替换excel文件内容,将excel转换为pdf文件时出现缺失问题。
经检查,转换功能在本地运行开发时正常运行,问题出现在docker部署在服务器上之后
于是锁定问题为服务器以及字体缺失问题,但是相关字体已经导入到容器当中。
经过漫长的寻找,终于发现,本次开发使用的占位符均为【宋体】,但是通过字符匹配
win+R
charmap
寻找后发现,宋体中只存在□,并不存在带框勾,于是切换字体为【华文中宋】(含√与□),重新上传模板文件,测试,成功~
这里最终使用的是【华文中宋】,但也应该会有其它字体适合,需要花时间去找
(ps:未使用Wingdings 字体系列或Segoe UI Symbol 字体的原因是因为,模板文件的占位符为$加英文,这些文字并未在该字体中存在,或者不存在合适的√符号,需要同时满足以上所有条件的字体才可以)