最近项目中有个做二维码的功能,需要在二维码下方添加些汉字。代码写完之后再本地测试了一下没有什么问题,放到线上运行后发现二维码下方的汉字都变成方框了。
查了一下原因 变成方框的问题是因为linux系统中没有对应的汉字字体。本地是windows系统有对应的字体。
解决方法1:在linux系统中加上对应的字体
解决方法2:将字体放在项目中获取该字体
我是把字体放在项目的resources 下wsdl文件下
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("微软雅黑", Fon