ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2018-09-19 16:32:31  阅读:147  来源: 互联网

标签:


在使用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

标签:
来源: https://blog.csdn.net/leo3070/article/details/82773405

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有