spring boot 整合activiti5.22 部署到linux 查看流程圖是亂碼

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、重啓項目,問題解決

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章