activiti当前任务高亮乱码问题解决(5.14版本)

1.取得流程图的核心代码
public void viewNode(HttpServletResponse response,String taskId) throws IOException{
		try {
			/**流程实例**/
			ProcessInstance processInstance = activitiServices.getProcessInstanceByTaskId(taskId);
			BpmnModel bpmnModel = activitiServices.getRepositoryService()
					.getBpmnModel(processInstance.getProcessDefinitionId());
			List<String> activeActivityIds =  activitiServices.getRuntimeService().getActiveActivityIds(processInstance.getId());
			ProcessEngineImpl defaultProcessEngine = (ProcessEngineImpl) ProcessEngines.getDefaultProcessEngine();
			Context.setProcessEngineConfiguration(defaultProcessEngine.getProcessEngineConfiguration());
			/**得到图片输出流**/
			InputStream imageStream = ProcessDiagramGenerator.generateDiagram(bpmnModel, "png", activeActivityIds);
			/**得到图片输出流**/
			OutputStream out = response.getOutputStream();
			byte[] b = new byte[1024];
			int len = -1;
			while ((len = imageStream.read(b, 0, 1024)) != -1) {
			    out.write(b, 0, len);
			}
			imageStream.close();
			out.flush();
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

2.解决乱码方法,如下(流程引擎配置属性中加入)

<!-- 节点乱码问题配置 -->
        <property name="activityFontName" value="微软雅黑"/>
        <property name="labelFontName" value="微软雅黑"/>


3.流程高亮结果如下图


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值