aspose.words生成pdf字体乱码为方框

描述

利用aspose.words生成pdf文档发现生成文档字体乱码

<dependency>
   <groupId>aspose.wordsgroupId>
   <artifactId>words-pdfartifactId>
   <version>18.10-SNAPSHOTversion>
dependency>

aspose.words生成pdf字体乱码为方框_第1张图片

解决

原因

并不是pdf乱码,乱码的化会是一堆??,方框是因为linux的字体库中没有和pdf字体匹配的格式,也就是说没有pdf匹配的字体格式,比如文档字体是宋体,但是系统没有这种字体,所以就会乱码,一般中文多一些

解决
下载需要的word字体库一般是.ttf或.ttc的文件
在这里插入图片描述
下面以docker为例,linux同理

  1. 新建/usr/share/fonts目录(字体库目录)
  2. 将自己需要的字体拷贝到目录
  3. 执行fc-cache,刷新系统字体库缓存
  4. 查看fc-list

aspose.words生成pdf字体乱码为方框_第2张图片
DockerFile示例

FROM java:8
MAINTAINER zhangy
EXPOSE 8080
COPY Fonts/ /usr/share/fonts/
RUN fc-cache
RUN mkdir /app && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/shanghai" > /etc/timezone
RUN mkdir /app/agent
WORKDIR /app
ADD app.jar app.jar
CMD java ${JAVA_OPTS} -jar app.jar

你可能感兴趣的:(java,aspose,pdf,方框乱码,word字体,dockerfile)