最近项目中有个做二维码的功能,需要在二维码下方添加些汉字。代码写完之后再本地测试了一下没有什么问题,放到线上运行后发现二维码下方的汉字都变成方框了。

      查了一下原因 变成方框的问题是因为linux系统中没有对应的汉字字体。本地是windows系统有对应的字体。

 解决方法1:在linux系统中加上对应的字体

 解决方法2:将字体放在项目中获取该字体

在这里我选择,将windows系统里的宋体文件放在SpringBoot项目下的resources的新建font文件夹下

package com.cmbchina.onboarding.infrastructure.util;
import org.springframework.core.io.ClassPathResource;
import java.awt.*;

import java.io.InputStream;

public class FontUtil {    

    public static Font loadFont(InputStream inputStream  , float fontSize) {      

        try {                

        Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, inputStream);          

        Font dynamicFontPt = dynamicFont.deriveFont(fontSize);          

        inputStream.close();          

        return dynamicFontPt;        

        } catch (Exception e){          

            e.printStackTrace();          

            return new java.awt.Font("微软雅黑", Font.PLAIN, 18);      

        }    

    }       

    public static java.awt.Font Font1() {    

        //获取字体文件

        ClassPathResource classPathResource = new ClassPathResource("font/st.TTC");    

        InputStream inputStream = null ;      

        try {            

            inputStream = classPathResource.getInputStream();      

        } catch (Exception e) {    

            e.printStackTrace();          

        }

        Font font = FontUtil.loadFont(inputStream, 22);     

        return font;

    }
}

原文:springboot项目添加自定义字体_Sunjin_shuai的博客-CSDN博客_springboot 字体

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐