第一种解决方案就是将linux的添加中文的font
public InputStream tracePhoto(String processDefinitionId, String executionId) {
List<String> activeActivityIds = Lists.newArrayList(), highLightedFlows = new ArrayList<String>();
if (runtimeService.createExecutionQuery().executionId(executionId).count() > 0) {
activeActivityIds = runtimeService.getActiveActivityIds(executionId);
}
/**
* 获得当前活动的节点
*/
if (this.isFinished(executionId)) {// 如果流程已经结束,则得到结束节点
activeActivityIds.add(historyService.createHistoricActivityInstanceQuery().executionId(executionId)
.activityType("endEvent").singleResult().getActivityId());
} else {// 如果流程没有结束,则取当前活动节点
// 根据流程实例ID获得当前处于活动状态的ActivityId合集
activeActivityIds = runtimeService.getActiveActivityIds(executionId);
}
// 获得历史活动记录实体(通过启动时间正序排序,不然有的线可以绘制不出来)
List<HistoricActivityInstance> historicActivityInstances = historyService.createHistoricActivityInstanceQuery()
.executionId(executionId).orderByHistoricActivityInstanceStartTime().asc().list();
// 计算活动线
highLightedFlows = this
.getHighLightedFlows((ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService)
.getDeployedProcessDefinition(processDefinitionId), historicActivityInstances);
/**
* 绘制图形
*/
InputStream imageStream = null;
if (null != activeActivityIds) {
try {
// 获得流程引擎配置
ProcessEngineConfiguration processEngineConfiguration = processEngine.getProcessEngineConfiguration();
// 根据流程定义ID获得BpmnModel
BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
// 输出资源内容到相应对象
imageStream = new DefaultProcessDiagramGenerator().generateDiagram(bpmnModel, "png", activeActivityIds,
highLightedFlows, processEngineConfiguration.getActivityFontName(),
processEngineConfiguration.getLabelFontName(), processEngineConfiguration.getClassLoader(),
1.0);
return imageStream;
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
第二种是在tomcat中直接适应一下linux的系统建议使用第二种。
在jdk15以后,只需在~/jre/lib/fonts/下建一个fallback目录,把你想在java中使用的字体烤贝到这个目录中即可
以下方法在fc6下测试通过,假设用户的jre路径为 /usr/java/jdk1.7.63/jre/
cd /usr/java/jdk1.7.63/jre/lib/fonts
sudo mkdir fallback
将C:\WINDOWS\Fonts\simsun.ttc拷贝到 /usr/java//jdk1.7.63/jre/lib/fonts/fallback文件夹内
好的你重启服务器试试。估计是OK的了
新版出现属性名称中文乱码问题
在新版的中文属性名字的title时候出现中文乱码是由于你返回的流转化为jsonString时候需要指定解析编码格式,
在requestMap上添加method = RequestMethod.GET, produces = "application/json;charset=utf-8"
@RequestMapping(value = "editor/stencilset",
method = RequestMethod.GET, produces = "application/json;charset=utf-8")
@ResponseBody
public String stencilset() {
InputStream stencilsetStream = this.getClass().getClassLoader().getResourceAsStream("stencilset.json");
try {
return IOUtils.toString(stencilsetStream, "utf-8");
} catch (Exception e) {
throw new RuntimeException("Error while loading stencil set", e);
} finally {
IOUtils.closeQuietly(stencilsetStream);
}
}
分享到:
相关推荐
NULL 博文链接:https://cooperay.iteye.com/blog/1457070
activiti-explorer5.2中文乱码解决方法
activiti流程图查看demo
Activiti流程图部署及流程图部分操作 流程图部署及流程图部分操作 流程图部署有两种⽅式,⼀种是通过classpath,另⼀种是通过zip⽂件 通过classpath⽅式如下 public void deploymentProcessDefinition_classpath() {...
activiti部署中文乱码解决,亲测有效, 1.activiti-webapp-explorer2\src\main\webapp\editor-app\i18n下en.json 2.activiti-webapp-explorer2\src\main\resources下 activiti-custom-context.xml 3.activiti-webapp-...
NULL 博文链接:https://gary0416.iteye.com/blog/1388705
linux离线activiti工作流linux系统下流程图中文显示不正常解决
修复了Activiti5.22 explorer部署程序图中文乱码的BUG,完美解决了activiti explorer中使用modeler画的含有中文的流程发布后,中文字符乱码的问题。 操作方法:下载activiti-explorer-5.22.0.jar,找到此文件所在...
Activiti的Web流程图设计器,BPMN-JS也可在官网下载并配置,这里压缩包是配置好的 1、需要提前下载好Node.js(中文官网连接:http://nodejs.cn/),傻瓜式安装。 2、解压后在bpmnjs目录打开dos命令窗口,输入npm ...
activiti5.22 流程设计器绘画的流程图条件线上的字不显示 下载该jar包 替换对应的maven仓库的jar包就可以了
使用activiti工作流引擎显示流程图时高亮显示流程图中已执行节点和已执行路径方法源代码
Activiti流程跟踪监控图路径线和节点高亮显示,本实例提供了两种方式,都可以生成png图片。
activiti6.0实现流程图片自定义颜色 当前任务为红色,走过的任务为绿色,自定义文字颜色连线文字显示
不懂可以问我,qq2738671
Activiti学习文档(二)之画流程图并部署流程的文件资源……
activiti-admin页面内容中文乱码解决 在activiti-app页面,谷歌浏览器不是中文乱码,而在activiti-admin页面却是乱码的问题解决
activiti6.0实现流程图片自定义颜色,当前任务为红色,走过的任务为绿色,自定义文字颜色连线文字显示
NULL 博文链接:https://cooperay.iteye.com/blog/1457161
activiti流程图高亮显示配置,为了方便别人快速配置,特此编辑此贴,盼同行们多多支持小编,原创不容易!