工作流activiti 流程图.乱码问题


工作流配置文件activiti.cfg.xml 设置字体

  1. labelFontName
  2. activityFontName
  3. 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&amp;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);

猜你喜欢

转载自gangling.iteye.com/blog/2381303