• 问题记录之用poi生成图片并插入到word时,图片中的中文显示不出来


    问题原因:linux中没有相关中文字体

    解决方案:在linux中安装中文字体

    有两种方式可以添加字体,第一种是在java环境下安装字体,第二种是在linux中安装字体

    一.在java环境下安装字体

    1、新建目录

    在%JAVA_HOME%/jre/lib/fonts 文件夹下,新建文件夹,命名为 fallback。

    注意:是JAVA_HOME不是JRE_HOME

    2、添加中文字体

    将SimSun.ttc的字体文件拷贝到新建的%JAVA_HOME%/jre/lib/fonts/fallback目录下。

    通过以上的操作,订阅报表的图形上的文字就不再乱码了。

    二.在linux中安装字体

    linux系统的字体文件放在/usr/share/fonts/目录以及用户的~/.fonts~/.local/share/fonts目录下,第一个位置为系统所用用户共享,将字体安装到这个目录需要管理员权限;后面两个位置则为当前登陆用户所有,安装字体到这个目录不需要管理员权限。

    1. 安装到 /usr/share/fonts/ (需要管理员权限)
    wget https://github.com/fangwentong/dotfiles/raw/master/ubuntu-gui/fonts/Monaco.ttf
    sudo mkdir -p /usr/share/fonts/custom
    sudo mv Monaco.ttf /usr/share/fonts/custom
    sudo chmod 744 /usr/share/fonts/custom/Monaco.ttf

    sudo mkfontscale #生成核心字体信息
    sudo mkfontdir
    sudo fc-cache -fv
    1. 安装到 ~/.fonts/ (安装到 ~/.local/share/fonts 原理相同)
    wget https://github.com/fangwentong/dotfiles/blob/ubuntu/fonts/Monaco.ttf?raw=true
    mkdir -p ~/.fonts
    mv Monaco.ttf ~/.fonts
    fc-cache -vf #刷新系统字体缓存
  • 相关阅读:
    .net中使用JQuery Ajax判断用户名是否存在的方法
    简单的SqlHelper
    C#中邮件的发送基本操作
    身份证号码组成 含代码
    C#和asp.net中链接数据库中 参数的几种传递方法
    【转】iptables 命令介绍
    sed的替换命令
    【转】sed 的参数
    【转】sed正则表达式
    【转】shell中如何判断一个变量是否为空
  • 原文地址:https://www.cnblogs.com/tjlr/p/9860455.html
Copyright © 2020-2023  润新知