Créer un organigramme Java

Les organigrammes peuvent être utiles pour comprendre les algorithmes étape par étape pour concevoir la représentation graphique des flux de travail et des processus. Dans certains scénarios, vous devrez peut-être créer des organigrammes pour la résolution de problèmes. Cet article explique comment créer un diagramme d’organigramme par programmation en Java.

Installer l’API Java pour créer un diagramme de flux

Vous pouvez créer des organigrammes à l’aide de l’API Aspose.Diagram for Java. Il prend en charge la création ou la modification de fichiers Visio au format VSD, VSDX et autres formats pris en charge. Vous pouvez facilement installer l’API en téléchargeant le fichier JAR depuis la section New Releases ou en utilisant les spécifications Maven suivantes :

Repository:

 <repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>http://repository.aspose.com/repo/</url>
    </repository>
</repositories>

Dependency:

 <dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-diagram</artifactId>
        <version>22.1</version>
        <classifier>jdk16</classifier>
    </dependency>
</dependencies>

Créer un organigramme par programmation en Java

Vous pouvez faire un organigramme pour expliquer les étapes d’une séquence. Vous devez suivre les étapes ci-dessous pour créer des organigrammes :

  1. Tout d’abord, créez un schéma pour créer le diagramme.
  2. Deuxièmement, chargez un fichier VSS en tant que maître pour ajouter des formes. en utilisant la classe Diagram.
  3. Ajout de formes et de connecteurs à partir du schéma.
  4. Définissez la disposition du diagramme d’organigramme.
  5. Enfin, écrivez le fichier de sortie avec l’organigramme au format VSDX en utilisant la méthode Save.

L’exemple de code ci-dessous explique comment créer un diagramme d’organigramme par programmation en Java :

// Créer un nouveau diagramme 
int pageNumber = 0;
String rectangleMaster = "Process", decisionMaster = "Decision", connectorMaster = "Dynamic connector"; 

Diagram diagram = new Diagram("XANFLOWCHARTNEW.vss"); 

double width = 1, height = 1, pinX = 4, pinY = 10; 
long process1 = diagram.addShape(pinX, pinY, width, height, rectangleMaster, 0); 
Shape processShape1 = diagram.getPages().getPage(pageNumber).getShapes().getShape(process1); 

processShape1.getText().getValue().add(new Txt("PROCESS")); 
processShape1.setName("PROCESS"); 
processShape1.getXForm().getLocPinX().getUfe().setF("Width*0.5"); 
processShape1.getXForm().getLocPinY().getUfe().setF("Height*0.5"); 

pinY = pinY - 2; 

long decision1 = diagram.addShape(pinX, pinY, width, height, decisionMaster, 0);
Shape decisionShape1 = diagram.getPages().getPage(pageNumber).getShapes().getShape(decision1);

decisionShape1.getText().getValue().add(new Txt("DECISION")); 
decisionShape1.setName("DECISION"); 
decisionShape1.getXForm().getLocPinX().getUfe().setF("Width*0.5"); 
decisionShape1.getXForm().getLocPinY().getUfe().setF("Height*0.5"); 

pinY = pinY - 2; 
long process2 = diagram.addShape(pinX, pinY, width, height, rectangleMaster, 0); 
Shape processShape2 = diagram.getPages().getPage(pageNumber).getShapes().getShape(process2);

processShape2.getText().getValue().add(new Txt("PROCESS")); 
processShape2.setName("PROCESS");
processShape2.getXForm().getLocPinX().getUfe().setF("Width*0.5");
processShape2.getXForm().getLocPinY().getUfe().setF("Height*0.5"); 

pinY = pinY - 2; 
long process3 = diagram.addShape(pinX, pinY, width, height, rectangleMaster, 0);
Shape processShape3 = diagram.getPages().getPage(pageNumber).getShapes().getShape(process3);

processShape3.getText().getValue().add(new Txt("PROCESS")); 
processShape3.setName("PROCESS");
processShape3.getXForm().getLocPinX().getUfe().setF("Width*0.5");
processShape3.getXForm().getLocPinY().getUfe().setF("Height*0.5"); 

pinY = pinY - 2; 
long process4 = diagram.addShape(pinX, pinY, width, height, rectangleMaster, 0);
Shape processShape4 = diagram.getPages().getPage(pageNumber).getShapes().getShape(process4);

processShape4.getText().getValue().add(new Txt("PROCESS")); 
processShape4.setName("PROCESS");
processShape4.getXForm().getLocPinX().getUfe().setF("Width*0.5");
processShape4.getXForm().getLocPinY().getUfe().setF("Height*0.5"); 

long connecterId = diagram.addShape(new Shape(), connectorMaster, 0);
diagram.getPages().getPage(pageNumber).connectShapesViaConnector(process1, ConnectionPointPlace.BOTTOM, 
        decision1, ConnectionPointPlace.TOP, connecterId); 

long connecterId1 = diagram.addShape(new Shape(), connectorMaster, 0);
diagram.getPages().getPage(pageNumber).connectShapesViaConnector(decision1, ConnectionPointPlace.BOTTOM,
        process2, ConnectionPointPlace.TOP, connecterId1); 

long connecterId2 = diagram.addShape(new Shape(), connectorMaster, 0);
diagram.getPages().getPage(pageNumber).connectShapesViaConnector(process2, ConnectionPointPlace.BOTTOM,
        process3, ConnectionPointPlace.TOP, connecterId2); 

long connecterId3 = diagram.addShape(new Shape(), connectorMaster, 0);
diagram.getPages().getPage(pageNumber).connectShapesViaConnector(process3, ConnectionPointPlace.BOTTOM,
        process4, ConnectionPointPlace.TOP, connecterId3); 

long connecterId4 = diagram.addShape(new Shape(), connectorMaster, 0);
diagram.getPages().getPage(pageNumber).connectShapesViaConnector(decision1, ConnectionPointPlace.RIGHT,
        process4, ConnectionPointPlace.TOP, connecterId4);

// Définir les options de mise en page automatique
LayoutOptions layoutOptions = new LayoutOptions();

// Méthode 
layoutOptions.setLayoutStyle(LayoutStyle.FLOW_CHART);
layoutOptions.setDirection(LayoutDirection.BOTTOM_TO_TOP);
diagram.layout(layoutOptions);

DiagramSaveOptions options = new DiagramSaveOptions(SaveFileFormat.VSDX);
diagram.save("sample.vsdx", options);

Aperçu de l’exemple d’organigramme de sortie

Créateur d'organigrammes Java

De plus, vous pouvez télécharger les fichiers d’entrée et de sortie pour vérifier cette fonctionnalité.

Obtenez une licence API gratuite

Vous pouvez évaluer toutes les fonctionnalités de l’API sans aucune limitation en demandant une licence temporaire gratuite.

Conclusion

En conclusion, vous avez appris à créer ou à créer des organigrammes par programmation à l’aide de Java. Vous pouvez personnaliser et modifier la direction ou les formes de l’organigramme selon vos besoins. Vous pouvez donc facilement intégrer cette fonctionnalité à l’aide des appels d’API depuis votre application Java. De plus, vous pouvez visiter l’API documentation pour vérifier plusieurs autres fonctionnalités de l’API. Vous pouvez poser toutes vos questions en vous adressant au forum.

Voir également