Activiti工作流在linux系统流程图文字显示乱码

项目使用了Activiti工作流,在windows系统使用显示流程图正常,但是在正式的linux系统上发现流程图节点文字信息乱码显示!图片其实是用了api提供的图片流直接封装显示的。
核心部分代码如下:

public static InputStream getDiagram(String processInstanceId){
		RuntimeService runtimeService = getRuntimeService();
		RepositoryService repositoryService = getRepositoryService();
		//查询流程实例
		HistoryService historyService = getHistoryService();
		HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
				.processInstanceId(processInstanceId).singleResult();
//		ProcessInstance processInstance = runtimeService.createProcessInstanceQuery()
//				.processInstanceId(processInstanceId).singleResult();
		//查询流程定义
		ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery()
				.processDefinitionId(historicProcessInstance.getProcessDefinitionId()).singleResult();
		//获取BPMN模型对象
		BpmnModel model = repositoryService.getBpmnModel(processDefinition.getId());
		//定义使用宋体
		String fontName = "宋体";
		//获取流程实例当前的节点,需要高亮显示
		List<String> currentActs = new ArrayList<String>();
		if(!isFinished(processInstanceId)){
			currentActs = runtimeService.getActiveActivityIds(processInstanceId);
		}
		//BPMN模型对象、图片类型、显示的节点
		InputStream inputStream = processEngine
				.getProcessEngineConfiguration()
			 	.getProcessDiagramGenerator()
				.generateDiagram(model, "png", currentActs, new ArrayList<String>(), 
						fontName, fontName, fontName, null, 1.0);
		return inputStream;
	}

原因最终判断是图片文字使用了宋体,但是linux系统中默认不包含宋体,所以系统在解析宋体的时候就乱码啦!!解决办法是将windows系统中的宋体安装到windows环境中国,具体是方法配置在jdk字体文件夹下,亲自验证可行!

在console里面输入echo $JAVA_HOME,获取到oracle jdk安装目录,然后在jre/lib/fonts目录下创建fallback目录,将C:\WINDOWS\Fonts\simsun.ttc拷贝到 /usr/java//jdk1.7.63/jre/lib/fonts/fallback文件夹内后重启服务器即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值