We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Aspose.Diagram for Java连接线上文字位置设置

流程图中连接线上添加问题,默认在中间位置,会导致和其它连接线重合,如何调整到顶部,附代码

  1. public void createConnecter(Page page,long l1,long l2,String str) throws Exception {
  2.     Shape shape1 = new Shape();
    
  3.     shape1.getLine().getEndArrow().setValue(4);
    
  4.     shape1.getLine().getLineWeight().setValue(0.01388);
    
  5.     shape1.getText().getValue().add(new Txt(str));
    
  6.     long dynamicConnector = page.addShape(shape1, "Dynamic connector");
    
  7.     page.connectShapesViaConnector(l2, ConnectionPointPlace.BOTTOM, l1, ConnectionPointPlace.TOP, dynamicConnector);
    
  8. }
    

image.png (5.7 KB)

@tumengzhu

使用微软visio手动设置文本在连接线上的对齐是没有效果的,所以我们只能通过修改textform的属性来控制文本在连接线上的位置。

由于连接线有些是直线,有些是折线,这是另一种情况。请根据不同的场景设置属性。请参考以下代码: 当线段比较复杂时,还可以使用其他逻辑:

int lineCount = shape.Geoms[0].CoordinateCol.LineToCol.Count;
LineTo lt = shape.Geoms[0].CoordinateCol.LineToCol[lineCount - 1];
shape.TextXForm.TxtPinY.Value = lt.Y.Value + 0.15;