首页 > 系统相关 >Linux安装字体 java生成pdf中文乱码或提示未安装字体错误

Linux安装字体 java生成pdf中文乱码或提示未安装字体错误

时间:2023-09-18 16:59:39浏览次数:48  
标签:zh fonts share 乱码 字体 usr 安装

当使用java在生成pdf或者图片时,如生成的文档包含有中文在inux上运行,会出现未安装字体的错误活字体乱码,此时需要我们在服务器上安装中文字体:

1、首先先看是否安装中文字体:

fc-list :lang=zh

-bash: list-fc: command not found

如出现上边提示,还未安装相关字体的软件包

请按如下安装对应软件包

sudo yum -y install fontconfig #安装字体库

sudo yum -y install ttmkfdir mkfontscale #安装字体索引信息

sudo yum install fontconfig #安装字体库

安装完后再次运行fc-list :lang=zh, 如果没显示任何信息,则表示没安装任何中文字体

3、上传中文字体

在服务器的 /usr/share/fonts 下创建zh目录, 创建命令如下

cd /usr/share/fonts

mkdir fonts

mkdir zh

在windows系统下进入C:\Windows\Fonts, 选择想安装的字体上传至服务器,一般情况下是安装微软雅黑和宋体

我选择 msyhbd.ttf 、msyh.ttc 微软雅黑、msyh.ttf、simsun.ttc,一般安装这三个字体足够了,将这三个字体上传至 zh目录

chmod -R 755 /usr/share/fonts/

chmod -R 755 /usr/share/fonts/zh/

5、修改fonts.conf配置文件
操作命令:
vi /etc/fonts/fonts.conf

<!-- Font directory list -->
<dir>/usr/share/fonts</dir>
<dir>/usr/share/X11/fonts/Type1</dir> <dir>/usr/share/X11/fonts/TTF</dir> <dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<dir>/usr/share/fonts/chinese</dir> #添加路径
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
<!--

 

 

4、生成字库索引信息

上传完字体后,进入zh目录

执行如下:

cd zh

mkfontscale

mkfontdir

该命令在当前zh目录下生成 fonts.dir fonts.scale 两个文件

5. 更新字体缓存

执行 fc-cache

6.再次上看是否安装了中文字体 fc-list :lang=zh

会出现 以下类似信息

fc-list :lang=zh
/usr/share/fonts/zh/msyhbd.ttf: Microsoft YaHei:style=Bold,Félkövér
/usr/share/fonts/zh/simsun.ttc: NSimSun:style=Regular
/usr/share/fonts/zh/simsun.ttc: SimSun:style=Regular
/usr/share/fonts/zh/msyh.ttf: Microsoft YaHei:style=Regular,Normal

表示安装成功过

7、重启应用,切记要重启对应的应用,我的是web应用,重启tomcat,生成pdf成功

重启 docker 即可:systemctl restart docker

标签:zh,fonts,share,乱码,字体,usr,安装
From: https://www.cnblogs.com/wjsqqj/p/17712371.html

相关文章

  • Ubuntu安装MySQL Access denied for user ‘root‘@‘localhost‘
    1、其它用户登录MySQL2、#查看user表usemysql;selectuser,pluginfromuser;3、修改root密码格式#修改其密码格式updateusersetplugin='mysql_native_password'whereuser='root';#查询其用户selectuser,pluginfromuser;#刷新权限flushprivileges;4、增加root密码#......
  • windows11安装wsl (Unbuntu)
    win11安装wslWindowsSubsystemforLinux(简称WSL)在Windows10中首次亮相,现在在Windows11中得到了更强的支持和改进。这个功能使用户可以在Windows操作系统上运行本地Linux二进制文件。下面将介绍WSL的安装方法。前提条件在安装WSL之前,需要执行以下步骤。检查系统要求首先,......
  • OpenWRT安装Zerotier
    下文使用$ZT_ID表示Zerotier后台的网络IDSSH进入路由器shell,运行opkgupdate&&opkginstallzerotier配置shell加入Zerotierzerotier-clijoin$ZT_ID修改配置文件(推荐)vi/etc/config/zerotierconfigzerotier'sample_config' optionenabled'1' listjoin�......
  • Vm虚拟机安装 黑苹果系统(提供获取最新版本的下载渠道): 免费版本:如 12.6.3 付费版本:ma
    目录一:安装系统环境相关程序下载1、系统安装包iso下载地址:2、Mac虚拟机插件下载地址:3、vm虚拟机安装二、Vm安装黑苹果虚拟机系统1、运行环境:2、安装过程解锁工具3、创建虚拟机4、修改Mac的虚拟机的配置信息5、安装苹果虚拟机系统 正文一:安装系统环境相关程序下载1、系统安......
  • Ubuntu20.04安装Mysql8主从
    Ubuntu20.04安装Mysql8主从一.主数据库安装1.下载安装包并初始化数据库#进入目录cd/opt#下载安装包wgethttps://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz#解压tar-xvfmysql-8.0.20-linux-glibc2.12-x86_64.tar.xz......
  • VMware安装CentOS7服务器系统
    摘要本教程将简要介绍如何在VMware虚拟机中安装CentOS7服务器系统,并配置IP和端口,供宿主机访问。下载镜像以下是镜像下载地址:https://repo.huaweicloud.com/centos/7.9.2009/isos/x86_64/因为要做服务器使用,所以推荐下CentOS-7-x86_64-Minimal-2009.iso版本。安装系......
  • python包离线环境安装与批量安装
    python项目进行落地部署的时候,经常是在离线的服务器或者工控机中进行的。python不同于c类程序,可以直接复制外部依赖项文件夹,这时,python程序如果需要正常运行,需要编写过程中第三方库的支持。首先,在联网环境下,进入cmd终端,使用以下命令下载包python-mpipdownloadtest1test2==......
  • window 安装多个低版本chrome测试
    最近在用next13做一个简单的项目,需要兼容chrome60+以上版本,为了方便测试,特意在公司的台式机上安装了低版本。这里简单记录下高版本覆盖低版本的问题,这个方法不影响Windows系统内已安装的Chrome。下载对应的版本首先下载你想要的chrome版本,我是在这里找寻下载版本的:https://www......
  • Linux安装MySQL(8.0)
    Linux安装MySQL(8.0)​ 下载安装包,官网地址:http://dev.mysql.com/downloads/mysql/​ 将安装包上传至服务器并解压,eg:tar-zxvfmysql-8.0.34-linux-glibc2.17-x86_64.tar.gz​ 将解压后的文件夹移动到/usr/local/mysql路径下并重命名,eg:mvmysql-8.0.34-linux-glibc2.17-x86_......
  • win10下docker安装 ubuntu18.04.
      参考 Win10使用Docker安装Ubuntu环境-知乎(zhihu.com)旧版WSL的手动安装步骤|MicrosoftLearn......