工作流activiti 流程图.乱码有关问题
工作流activiti 流程图.乱码问题
工作流配置文件activiti.cfg.xml 设置字体
activiti.cfg.xml 如下
生产流程图片代码
工作流配置文件activiti.cfg.xml 设置字体
- labelFontName
- activityFontName
- annotationFontName
activiti.cfg.xml 如下
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <!-- ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration(); //连接数据库的配置 processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver"); processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8"); processEngineConfiguration.setJdbcUsername("root"); processEngineConfiguration.setJdbcPassword("130427"); /* public static final String DB_SCHEMA_UPDATE_FALSE = "false"; 不能自动创建表,需要表存在 public static final String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";先删除表再创建表 public static final String DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自动创建表 */ processEngineConfiguration.setDatabaseSchemaUpdate(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); --> <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"> <property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8"></property> <property name="jdbcUsername" value="root"></property> <property name="jdbcPassword" value="123456"></property> <!-- 没有表创建表 --> <property name="databaseSchemaUpdate" value="true"></property> <property name="labelFontName" value="宋体"></property> <property name="activityFontName" value="宋体"></property> <property name="annotationFontName" value="宋体"></property> </bean> </beans>
生产流程图片代码
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); RuntimeService runtimeService = processEngine.getRuntimeService(); RepositoryService repositoryService = processEngine.getRepositoryService(); String executionId = "2501"; ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().processDefinitionKey("helloworld") .latestVersion().singleResult(); BpmnModel bm = repositoryService.getBpmnModel(pd.getId()); //流程图 InputStream imageStream = processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator() .generateDiagram(bm, "png", processEngine.getProcessEngineConfiguration().getActivityFontName(), processEngine.getProcessEngineConfiguration().getLabelFontName(), processEngine.getProcessEngineConfiguration().getActivityFontName(), processEngine.getProcessEngineConfiguration().getClassLoader(), 1.0); //流程图--当前活动高亮 InputStream imageStream2 = processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator() .generateDiagram(bm, "png", runtimeService.getActiveActivityIds(executionId),Collections.EMPTY_LIST, processEngine.getProcessEngineConfiguration().getActivityFontName(), processEngine.getProcessEngineConfiguration().getLabelFontName(), processEngine.getProcessEngineConfiguration().getActivityFontName(), processEngine.getProcessEngineConfiguration().getClassLoader(), 1.0);