activiti 生成当前任务图片PNG

简介: activiti 生成当前任务图片PNG
/**生成当前任务节点流程图片PNG
   * @param PROC_INST_ID_ //流程实例ID
   * @param FILENAME    //图片名称
   * @from fhadmin.cn 
   */
  protected void createXmlAndPngAtNowTask(String PROC_INST_ID_, String FILENAME) throws IOException{
    DelFileUtil.delFolder(PathUtil.getProjectpath()+"uploadFiles/activitiFile");  //生成先清空之前生成的文件
        InputStream in = getResourceDiagramInputStream(PROC_INST_ID_); 
        FileUpload.copyFile(in,PathUtil.getProjectpath()+Const.FILEACTIVITI,FILENAME);//把文件上传到文件目录里面
        in.close();  
  }
  /**获取当前任务流程图片的输入流
   * @param PROC_INST_ID_ //流程实例ID
   * @from fhadmin.cn 
   */
  private InputStream getResourceDiagramInputStream(String PROC_INST_ID_){
        try {
            HistoricProcessInstance hip = historyService.createHistoricProcessInstanceQuery().processInstanceId(PROC_INST_ID_).singleResult();      //获取历史流程实例
            List<HistoricActivityInstance> hai = historyService.createHistoricActivityInstanceQuery().processInstanceId(PROC_INST_ID_)
                                                         .orderByHistoricActivityInstanceId().asc().list(); //获取流程中已经执行的节点,按照执行先后顺序排序
            List<String> executedActivityIdList = new ArrayList<String>();            // 构造已执行的节点ID集合
            for (HistoricActivityInstance activityInstance : hai) {
                executedActivityIdList.add(activityInstance.getActivityId());
            }
            BpmnModel bpmnModel = repositoryService.getBpmnModel(hip.getProcessDefinitionId()); // 获取bpmnModel
            List<String> flowIds = this.getExecutedFlows(bpmnModel, hai);           // 获取流程已发生流转的线ID集合
            ProcessDiagramGenerator processDiagramGenerator = processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator(); 
            InputStream imageStream = processDiagramGenerator.generateDiagram(bpmnModel, "png", executedActivityIdList, flowIds, "宋体", "微软雅黑", "黑体", null, 2.0);  //使用默认配置获得流程图表生成器,并生成追踪图片字符流
            return imageStream;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

 

目录
相关文章
|
4月前
|
Web App开发 XML 存储
一篇文章讲明白JPG、PNG、GIF、SVG等格式图片区别
一篇文章讲明白JPG、PNG、GIF、SVG等格式图片区别
|
5月前
|
前端开发 Java
在springboot项目中实现将上传的jpg图片类型转为pdf并保存到本地
使用uniapp的uni.canvasToTempFilePath方法,将canvas内容转为jpg并上传至服务器。后端接收到jpg文件后,通过Java的PDFBox库进行处理。代码包括:选取画板内容为jpg,转换为临时文件路径,基于此路径生成File对象并上传,服务器端利用PDFBox处理上传的jpg文件。依赖:PDFBox 2.0.8。
56 3
|
10月前
|
计算机视觉 C++
png,jpg图片透明度化demo
png,jpg图片透明度化demo
60 0
|
11月前
webp批量转换为png、jpg工具
webp批量转换为png、jpg工具
|
Web App开发 存储 iOS开发
一日一技:把webp图片保存为png
一日一技:把webp图片保存为png
220 0
|
存储 算法 Android开发
聊一聊几种常用web图片格式:gif、jpg、png、webp
在大多数的web页面中,图片占到了页面大小的60%-70%。因此在web开发中,不同的场景使用合适的图片格式对web页面的性能和体验是很重要的。图片格式种类非常多,本文仅针对几种web应用中常用的图片格式:gif、png、jpg、webp进行一个基本的总结。
|
Python
将8位的tif图片改为png图片
将8位的tif图片改为png图片
210 0