一、背景介绍
因项目需求,需要将word格式文件转换pdf并添加水印,由于我在本地windos开发环境调试没有任何问题,一到测试环境linux发现乱码
例如:
二、排查原因
由于项目是用docker+jenkins部署,经排查后发现原因是因为Linux跟windos中的字体不一样,windos中 c:\windos\user\Fonts 目录中自带很多字体。但linux docker容器中并没有映射或者挂载这些字符集导致pdf下载的时候乱码
三、解决方案
1.将windos中 c:\windos\user\Fonts 目录中的字体 复制到一个新的文件夹中,并上传到linux /usr/share/fonts 这个目录下
2.执行字体安装命令
sudo mkfontscale
sudo mkfontdir
sudo fc-cache -fv
3.执行命令让字体生效
source /etc/profile
4.如果安装失败,可以考虑修改字体权限(安装成功可忽略)
chmod 755 *.ttf
5.进入docker 容器映射挂载容器卷属性 -v /usr/share/fonts:/usr/share/fonts
6.最终重新部署jenkins 即可完成
以我个人为例。我进入部署的docker 容器中 然后查询容器下的字体集,发现果然没有且缺少很多
文章来源:https://www.toymoban.com/news/detail-762375.html
四、总结
一开始在Linux中按照网上的相关资料排查很久,最后发现项目不是用jar包的形式部署,而是采用docker+jenkins的形式,花1个多小时踩了个巨坑,最后发现是docker容器中的挂载卷中的映射容器没并有字体。然后配置相关映射挂载才得以解决!所以在此分享一下踩坑心得文章来源地址https://www.toymoban.com/news/detail-762375.html
到了这里,关于【已解决】aspose工具word转pdf文件,在linux服务器上使用docker-jenkins部署出现内容乱码问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!