让linux识别html,linux上将html转为image,html包含的中文无法正确识别的解决办法

在使用linux部署项目的时候,要将包含中文的html转换为image,而html中的字体默认使用的是系统字体,在windows上部署没有问题,但是在linux中运行的时候,由于没有中文相关字体,导致生成的图片中的汉子无法识别。

解决办法:

1、查看容器支持的字体。

fc-list :lang=zh

返回的结果为-bash: fc-list: command not found

说明没有安装字体管理,需要安装字体库

2、安装字体库。

yum -y install fontconfig

安装完成后,在/usr/share目录下就能看到fontconfig、fonts文件夹

3、将下载下来的字体ttc、ttf文件拷贝到容器的/usr/share/fonts文件中。

cp msyh.ttf 容器:/usr/share/fonts

4、然后重启linux,通过fc-list :lang=zh命令就可以看到安装的中文字体。

/usr/share/fonts/msyh.ttf: Microsoft YaHei,微软雅黑:style=Regular

使用Docker容器的同理,可以将上面命令写入dockerfile,下面附上我的dockerfile

FROM java:8

EXPOSE 8282

VOLUME /tmp

ADD uhome-emailjob.jar /app.jar

ADD msyh.ttf /usr/share/fonts

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN bash -c 'touch /app.jar'

ENV JAVA_OPTS="-Dfile.encoding=UTF8 -Duser.timezone=GMT+08"

ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

由于我的docker镜像已经安装了字库,只用将字体拷贝到相应目录下即可

加上这一行ADD msyh.ttf /usr/share/fonts即可

附字体对应文件名

字体

文件名

字体

文件名

宋体

SIMSUN.TTF/simsunb.ttf

黑体

simhei.ttf

仿宋

simfang.ttf

楷体

simkai.ttf

方正舒体

FZSTK.TTF

方正姚体

FZYTK.TTF

隶书

SIMLI.TTF

华文彩云

STCAIYUN.TTF

华文细黑

STXIHEI.TTF

华文行楷

STXINGKAI.TTF

华文新魏

STXINWEI.TTF

华文中宋

STZHONGS.TTF

幼圆

SIMYOU.TTF

华文琥珀

STHUPO.TTF

华文楷体

STKAITI.TTF

华文隶书

STLITI.TTF

华文宋体

STSONG.TTF

新宋体

NSIMSUN.TTF

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值