1、在Spring boot 中配置activiti使用宋體
@Bean
public ProcessEngineConfiguration processEngineConfiguration(DataSource dataSource, PlatformTransactionManager transactionManager) {
SpringProcessEngineConfiguration processEngineConfiguration = new SpringProcessEngineConfiguration();
processEngineConfiguration.setDataSource(dataSource);
processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE);
processEngineConfiguration.setDatabaseType(ProcessEngineConfigurationImpl.DATABASE_TYPE_MYSQL);
processEngineConfiguration.setTransactionManager(transactionManager);
//流程圖字體
processEngineConfiguration.setActivityFontName("宋體");
processEngineConfiguration.setAnnotationFontName("宋體");
processEngineConfiguration.setLabelFontName("宋體");
return processEngineConfiguration;
}
在獲取圖片的地方設置字體
BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
// 獲取流程圖圖像字符流
ProcessDiagramGenerator pec = processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator();
InputStream imageStream = pec.generateDiagram(
bpmnModel,
"png",
ActivityIds,
flowIds,
"宋體",
"宋體",
"宋體",
null,
1.0);
2、配置服務器上字體信息
把window系統的宋體字體文件複製出來,window 系統路徑 C:\Windows\Fonts\simsun.ttc
找到服務器jdk安裝目錄,忘記的話就執行 Java -verbose 倒數2行包含安裝路徑
進入jre/lib/fonts/fallback/ (/fonts/fallback/ 這二個文件夾沒有就新增)
放入前面的字體文件。
3、重啓項目,問題解決