springboot activiti 图片中的文字显示为方块 问题解决

springboot activiti 图片中的文字显示为方块

    • 问题描述
    • 解决方法

问题描述

最近在springboot项目中引入工作流,但在查看流程图片时发现图片中的文字全部为方块。如下图所示:
springboot activiti 图片中的文字显示为方块 问题解决_第1张图片

解决方法

之所以会出现方块字,是因为在生成图片时,activiti默认使用的文字字体为Arial,如下图所示:
springboot activiti 图片中的文字显示为方块 问题解决_第2张图片
但不知道为什么么有加载到本机的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好用多了

重新运行项目后,发现有的地方的流程图中问题已经改为正常的字体,但有的还是方块字,出现这种情况,重新部署流程后就可以了
springboot activiti 图片中的文字显示为方块 问题解决_第3张图片

配置文件参考地址:https://my.oschina.net/u/2494315/blog/3024435

你可能感兴趣的:(spring,boot,activiti)