-
前言,接着上一篇(下载(导出)pdf模板文件(比如:审批单))
-
第一步:在resources下添加字体文件(.ttc格式,如:simsun.ttc(宋体))
-
第二步:修改FontProvider.java类
代码如下:
/**
* 字体提供类, 更改 默认的字体
*/
public class FontProvider extends XMLWorkerFontProvider {
private final Logger logger = LoggerFactory.getLogger(XMLWorkerFontProvider.class);
//自定义字体文件
String fontFileName = "simsun.ttc";
public FontProvider() {
super(null, null);
}
@Override
public Font getFont(final String fontName, String encoding, float size, final int style) {
try {
String fontFilePath = Objects.requireNonNull(Thread.currentThread().getContextClassLoader().getResource("")).getPath().concat("template/").concat(fontFileName);
logger.info("【字体文件】的路径========>" + fontFilePath);
//第一个参数时字体文件的路径,后面必须加,0或者,1
BaseFont bfChinese =BaseFont.createFont(fontFilePath + ",1", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
return new Font(bfChinese, size, style);
} catch (Exception e) {
logger.error("获取字体信息出错:" + e.getMessage());
}
return super.getFont(fontName, encoding, size, style);
}
}