问题描述
最近在springboot项目中引入工作流,但在查看流程图片时发现图片中的文字全部为方块。如下图所示:
解决方法
之所以会出现方块字,是因为在生成图片时,activiti默认使用的文字字体为Arial,如下图所示:
但不知道为什么么有加载到本机的Arial字体(ಥ﹏ಥ)
做程序嘛,要懂得变通
so我们需要对它进行配置,使其在生成图片时使用自定义字体,字体定义是在ProcessEngineConfiguration里面,写个方法重写它就行了。
import org.activiti.spring.SpringProcessEngineConfiguration;
import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer;
import org.springframework.context.annotation.Configuration;
@Configuration
public class ActivitiConfig implements ProcessEngineConfigurationConfigurer {
/**
* 解決工作流生成图片乱码问题
*
* @param processEngineConfiguration processEngineConfiguration
*/
@Override
public void configure(SpringProcessEngineConfiguration processEngineConfiguration) {
processEngineConfiguration.setActivityFontName("宋体");
processEngineConfiguration.setAnnotationFontName("宋体");
processEngineConfiguration.setLabelFontName("宋体");
}
}
这个是在网上找到了,参考了其他人的想法,参考链接在文末。
其中 @Configuration ,加上后,springboot自动识别到配置文件并执行,这一点真的比springmvc好用多了
重新运行项目后,发现有的地方的流程图中问题已经改为正常的字体,但有的还是方块字,出现这种情况,重新部署流程后就可以了
配置文件参考地址:https://my.oschina.net/u/2494315/blog/3024435