SpringBoot项目集成字体工具类
2018-03-05 19:31
483 查看
场景:采用JasperReport生成报表时,若将模版中的字体配置成宋体时。部署在不同的系统上时,可能会出现中文乱码的情况,也可以适用于其他任何需要单独配置字体的第三方库。
首先,你可以给部署的服务器,添加“宋体”字体库,但这中方法治标不治本。意味着,你每每部署一个系统,最好都要去添加一次字体库。不利于维护,也不利于实施。
另外一种方法,将字体集成到项目中,在部署的时候,就可以不去理会服务器是否包含“宋体”。
注意:“宋体”可换成其他任意的字体
下面以宋体为例:
在项目的resources下新建fonts目录,并在windows字体库中将宋体复制到fonts目录下
package com.uxsino.commons.utils;
import java.awt.Font;
import java.awt.FontFormatException;
import java.io.IOException;
import java.io.InputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 字体工具类
* @author jane
*
*/
public class FontsUtil {
private static final Logger logger = LoggerFactory.getLogger(FontsUtil.class);
/**
* 宋体
* @param style
* @param size
*/
public static Font getSIMSUN(int style, float size) {
Font font = null;
//获取字体流
InputStream simsunFontFile = FontsUtil.class.getResourceAsStream("/fonts/SIMSUN.TTC");
try {
//创建字体
font = Font.createFont(Font.PLAIN, simsunFontFile).deriveFont(style, size);
} catch (FontFormatException e) {
logger.error("",e);
} catch (IOException e) {
font = new Font("宋体", Font.BOLD, 6);
861a
logger.error("",e);
}
return font;
}
}
首先,你可以给部署的服务器,添加“宋体”字体库,但这中方法治标不治本。意味着,你每每部署一个系统,最好都要去添加一次字体库。不利于维护,也不利于实施。
另外一种方法,将字体集成到项目中,在部署的时候,就可以不去理会服务器是否包含“宋体”。
注意:“宋体”可换成其他任意的字体
下面以宋体为例:
在项目的resources下新建fonts目录,并在windows字体库中将宋体复制到fonts目录下
package com.uxsino.commons.utils;
import java.awt.Font;
import java.awt.FontFormatException;
import java.io.IOException;
import java.io.InputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 字体工具类
* @author jane
*
*/
public class FontsUtil {
private static final Logger logger = LoggerFactory.getLogger(FontsUtil.class);
/**
* 宋体
* @param style
* @param size
*/
public static Font getSIMSUN(int style, float size) {
Font font = null;
//获取字体流
InputStream simsunFontFile = FontsUtil.class.getResourceAsStream("/fonts/SIMSUN.TTC");
try {
//创建字体
font = Font.createFont(Font.PLAIN, simsunFontFile).deriveFont(style, size);
} catch (FontFormatException e) {
logger.error("",e);
} catch (IOException e) {
font = new Font("宋体", Font.BOLD, 6);
861a
logger.error("",e);
}
return font;
}
}
相关文章推荐
- SpringBoot+Maven项目实战(2):集成SpringBoot
- 集成到web项目之后,导出PDF时,中文无法正常显示或找不到中文字体
- Spring Maven项目集成Springboot
- 【FastJSON】将FastJSON作为工具类集成到项目中
- springboot的maven项目集成log4j
- SpringBoot项目集成Disconf分布式配置中心
- SpringBoot项目集成RabbitMq
- Springboot集成quartz之让项目飞起来(第一期)
- SpringBoot gradle项目集成swagger
- 使用Jenkins持续集成JavaWeb项目(War包部署方式)
- Springboot 多数据源项目搭建和部署
- 系统集成资质培训 - 强化自测题参考答案(非项目管理部分)
- 详解 集成Maven Spring Mybatis项目打包生成Bat文件
- iOS现有项目集成egretSDK
- [置顶] 使用maven创建一个spring-boot项目-集成springmvc
- libgdx游戏中的中文字体工具类
- 集成RN到现有的产品项目中的踩坑记
- CVSNT配置及其与eclipse集成开发项目管理
- Activiti-5.18.0与springMvc项目集成和activiti-explorer单独部署Web项目并与业务数据库关联方法(AutoEE_V2实现方式)
- 使用maven创建一个spring-boot项目-集成springmvc