Linux 系统下在Java程序中使用Spire组件转换文档时,结果文档乱码或字体缺失错误的处理方法_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Linux 系统下在Java程序中使用Spire组件转换文档时,结果文档乱码或字体缺失错误的处理方法

Linux 系统下在Java程序中使用Spire组件转换文档时,结果文档乱码或字体缺失错误的处理方法

 2021/9/3 12:35:35  Miaonly  程序员俱乐部  我要评论(0)
  • 摘要:一、问题描述在Windows系统中,使用Spire组件转换文档时,结果文档正常,但是在Linux系统中,结果文档会出现乱码、方框或程序抛出字体缺失异常,如:Cannotfoundfont[SansSerif]installedonthesystem。二、问题分析这个问题是由于Linux服务器缺少字体所导致。Spire组件转换文档时需要从系统中寻找对应的字体绘制字形,如果系统中没有安装原文档中所使用的字体,会先从系统已安装的字体中匹配能支持这个字形的字体,如果无法匹配出相应的字体
  • 标签:程序 Linux 方法 文档 使用 Java 结果 处理方法 错误

class="MsoNormal">一、问题描述

Windows系统中,使用Spire组件转换文档时,结果文档正常,但是在Linux系统中,结果文档会出现乱码、方框或程序抛出字体缺失异常,如:Cannot found font[SansSerif] installed on the system

?

二、问题分析

这个问题是由于Linux服务器缺少字体所导致。Spire组件转换文档时需要从系统中寻找对应的字体绘制字形,如果系统中没有安装原文档中所使用的字体,会先从系统已安装的字体中匹配能支持这个字形的字体,如果无法匹配出相应的字体,结果文档就会出现乱码或方框,或者程序会抛出“字体缺失异常”。

?

三、解决方法

若遇到此类问题,可以先确认原文档中使用了哪些字体,然后将这些字体或Windows中的所有字体安装到Linux系统。

?

以下是如何查看和安装字体的详细指令。

1. 开启 root 权限

输入指令: su root ,不行时,需要先输入指令: sudo passwd root

根据步骤输入密码,然后再重新输入指令: su root

?

2. 将字体文件先放到某一个文件夹下

然后进入文件夹输入指令: cp simsun.ttc /usr/share/fonts/ ,依次输入下面的指令:

mkfontscale //字体扩展

mkfontdir //新增字体目录

fc-cache-fv //刷新缓存

?

3. 查看安装的字体文件

查看系统中的字体:

指令:fc-list

查看系统中的中文字体:

指令:fc-list:lang=zh

?

?

发表评论
用户名: 匿名