aspose-words 跨操作系统 word 转 pdf 字体乱码问题

问题复现:转出pdf 文件 几乎都是"口"

在这里插入图片描述
经过排查分析:在 windows 操作系统转换pdf 是没问题的,但是通过 docker(容器)部署到
linux 就出现了这个问题。

原因:linux 没有相关字体文件造成的转换乱码

解决方案1:
起初想到的是 通过docker 文件挂载的方式 把docker 容器字体文件夹 /usr/share/fonts 挂载到宿主机的字体文件夹,这种方式测试环境用着也还可以,毕竟测试环境基本是单节点,但是生产k8s环境想想就特别麻烦,这个方案就不用了
解决方案2:
在dockerfile 文件里来处理,通过dockerfile 做一个包含需要字体的基础镜像

FROM openjdk:8-jre-alpine
VOLUME /tmp
ADD ./agent/ /agent/
ENV LANG en_US.UTF-8
COPY ./simsun.ttf /usr/share/fonts/simsun.ttf 
RUN apk add --update font-adobe-100dpi ttf-dejavu fontconfig && rm -rf /var/cache/apk/* && fc-cache -vf

COPY ./simsun.ttf /usr/share/fonts/simsun.ttf 把宋体加入到基础镜像
fc-cache -vf 刷新系统字体,使之生效

在这里插入图片描述
构建时特别要注意的是 这个"." ,意思是去当前 dockerfile 所在的目录去build,这样就构建出一个有字体的新的基础镜像

方案2是可行的,最后项目再基于 这个有字体的基础镜像打包部署,乱码完美解决

不知还有没有什么其他好的方法,目前就想到这2种

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值