当前位置: 首页>編程日記>正文

linux流程图乱码,Activiti流程图乱码

linux流程图乱码,Activiti流程图乱码

1、直接部署流程文件

这种方式部署后引擎会自动生成流程图,存在的问题:在Activiti Designer里面设计与自动生成的流程图

坐标不一致

,还有

中文乱码

问题(可以通过添加字体解决)和

Flow上文字不显示

或者坐标错位等问题。   解决乱码问题可以在引擎配置中添加:

复制代码

获取图片的代码如下(完整代码在kft-activiti-demo项目的ActivitiController.java中)

InputStream imageStream = ProcessDiagramGenerator.generateDiagram(bpmnModel, "png");

复制代码

2、一劳永逸的部署方式——Zip

一般开发人员设计流程会选择使用Activiti Designer,这个插件会在设计流程时自动创建PNG格式的图片,图片中的组件坐标与bpmn文件里面的坐标一致,部署时可以

把bpmn文件和png图片文件打包成Zip文件部署

,这种方式引擎

不会自动生成流程图

,因为zip包里面存在了同名的图片文件。

所以推荐大家选择这种方式部署,一劳永逸,没有坐标错位问题,流程跟踪也方便。

读取流程图的代码:

String resourceName = processDefinition.getDiagramResourceName();

resourceAsStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), resourceName);

byte[] b = new byte[1024];

int len = -1;

while ((len = resourceAsStream.read(b, 0, 1024)) != -1) {

response.getOutputStream().write(b, 0, len);

}

复制代码

----------------

流程跟踪

----------------

与部署方式对应的流程跟踪方式也有集中,在kft-activiti-demo中分别对三种方式做了演示(demo里面有三个按钮可以切换不同的跟踪方式)。

1、通过引擎生成png图片,并标记当前节点

List activeActivityIds = runtimeService.getActiveActivityIds(executionId);

InputStream imageStream = ProcessDiagramGenerator.generateDiagram(bpmnModel, "png", activeActivityIds);

// 输出资源内容到相应对象

byte[] b = new byte[1024];

int len;

while ((len = imageStream.read(b, 0, 1024)) != -1) {

response.getOutputStream().write(b, 0, len);

}

复制代码

得到的图片是引擎自动生成的,并把当前节点用红色边框标记出来,弊端和直接部署流程文件生成的图片问题一样。

2、读取图片后通过前段Javascript和Css配合跟踪

这种方式依赖于zip部署方式,因为这种方式的流程图坐标与bpmn文件里面的坐标一致,所以可以根据坐标分析在前段用javascript和css配合动态标记当前节点,这种方式在优势灵活性很大,可以显示你要展示的所以信息,因为完全就是一堆信息点汇合起来的跟踪功能。

需要后端提供数据给前端分析,例如有哪些Activity分别及其坐标、高度、宽度、是否当前节点等信息,json数据结构如下。

流程图跟踪示例:

3、通过Diagram Viewer跟踪(完全Javascript画图)

这是官方提供的一个Javascript跟踪工具,使用方便,简单配置就可以使用,兼容各种浏览器,并且可以自己扩展;参考:


https://www.fengoutiyan.com/post/14427.html

相关文章:

  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機