此文章写于:flowable6.5.x,springboot 2.2.x
flowable官方API接口类为:org.flowable.image.ProcessDiagramGenerator,其中提供生成流程图方法,但是默认字体为Arial(中文乱码),且仅高亮红色支持。
原生API使用方式:
ProcessEngines.getDefaultProcessEngine().getProcessEngineConfiguration().getProcessDiagramGenerator()
.generateDiagram(...)
修改后使用方式:
new CustomProcessDiagramGenerator(需高亮节点集合).generateDiagram(...)
1.多颜色
实现方式:自定义CustomProcessDiagramGenerator、CustomProcessDiagramCanvas,不更改逻辑,直接拷贝DefaultProcessDiagramGenerator,DefaultProcessDiagramCanvas实现方法,替换DefaultProcessDiagramCanvas为CustomProcessDiagramGenerator。
详见文末具体代码(需要更改着色代码部分已用“// TODO 画图颜色” 注释标注)
2.中文乱码解决
方法一:字体改为宋体(部署服务器需安装该字体,其他字体同理)
方法二:加载项目本地字体:
修改CustomProcessDiagramCanvas的initialize的字体生成代码:
原:

修改后:

本处字体文件存放于resources目录下的fonts。
详见文末具体代码。
代码地址: https://pan.baidu.com/s/1JZtYlUJKSan3Csbz9NFbrg 提取码: vq94