Organigramm Java erstellen

Ein Organigramm wird verwendet, um die Berichts- oder Beziehungshierarchie in einem Institut oder Unternehmen zu erläutern. Sie können ein Organigramm erstellen, ohne eine auf der Benutzeroberfläche basierende Anwendung oder ein Tool installieren zu müssen. In diesem Artikel wird beschrieben, wie Sie verschiedene Arten von Organigrammen programmgesteuert in Java erstellen.

Organigramm-Ersteller – Java-API-Installation

Aspose.Diagram for Java API kann verwendet werden, um viele Arten von visuellen Diagrammen zu erstellen, einschließlich Diagramme und Flussdiagramme. Sie können die JAR-Datei aus dem Abschnitt Downloads herunterladen oder die folgenden Maven-Spezifikationen in der pom.xml-Datei Ihrer Anwendung verwenden:

Repository:

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

Abhängigkeit:

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

Organigramm im CompactTree-Stil in Java erstellen

Mit den folgenden Schritten können Sie ein Organigramm im CompactTree-Stil erstellen:

  1. Laden Sie Master aus einem beliebigen vorhandenen Diagramm, einer Schablone oder einer Vorlage.
  2. Definieren Sie Werte, um die Hierarchie aufzubauen.
  3. Fügen Sie Formen und Verbindungen zwischen Knoten hinzu.
  4. Speichern Sie das Ausgabediagramm.

Das folgende Codebeispiel ist ein Beispiel dafür, wie Sie ein Organigramm im CompactTree-Stil in Java erstellen:

// Laden Sie Master aus einem beliebigen vorhandenen Diagramm, einer Schablone oder einer Vorlage
String visioStencil = "Basic Shapes.vss";
String rectangleMaster = "Rectangle";
String connectorMaster = "Dynamic connector";
int pageNumber = 0;
double width = 1;
double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Definieren Sie Werte, um die Hierarchie aufzubauen
List<String> listPos = Arrays.asList(new String[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Definieren Sie eine Hashtable, um den Zeichenfolgennamen der langen Shape-ID zuzuordnen
Hashtable shapeIdMap = new Hashtable();
// Erstellen Sie ein neues Diagramm
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // Fügen Sie eine neue rechteckige Form hinzu
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Legen Sie die Eigenschaften der neuen Form fest
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// Erstellen Sie Verbindungen zwischen Knoten
for (String orgName : listPos)
{
    int lastColon = orgName.lastIndexOf(':');
    if(lastColon > 0)
    {
        String parendName = orgName.substring(0, lastColon);
        long shapeId = (long)shapeIdMap.get(orgName);
        long parentId = (long)shapeIdMap.get(parendName);
        Shape connector1 = new Shape();
        long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber);
        diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId, ConnectionPointPlace.RIGHT,
            shapeId, ConnectionPointPlace.LEFT, connecter1Id);
    }
}

//Auto-Layout CompactTree-Diagramm
LayoutOptions compactTreeOptions = new LayoutOptions();
compactTreeOptions.setLayoutStyle(LayoutStyle.COMPACT_TREE);
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_RIGHT);
compactTreeOptions.setEnlargePage(false);

diagram.getPages().get(pageNumber).layout(compactTreeOptions);

// Diagramm speichern
diagram.save("DrawCompactTreeChart_java.vsdx", SaveFileFormat.VSDX);

Erstellen Sie ein Organigramm im Flussdiagrammstil in Java

Sie können mehrere Arten von Organigrammen entwerfen, die unterschiedlichen Vorlagen folgen können. Die folgenden Schritte zeigen, wie Sie ein Organigramm im Flussdiagrammstil programmgesteuert in Java erstellen:

  1. Laden Sie Master aus einem beliebigen vorhandenen Diagramm, einer Schablone oder einer Vorlage.
  2. Fügen Sie Organisationsknoten und Konnektoren hinzu.
  3. Legen Sie das Layout fest und speichern Sie das Ausgabediagramm.

Das folgende Code-Snippet zeigt, wie Sie in Java ein Organigramm im Flussdiagrammstil erstellen:

// Laden Sie Master aus einem beliebigen vorhandenen Diagramm, einer Schablone oder einer Vorlage
String visioStencil = "Basic Shapes.vss";
String rectangleMaster = "Rectangle";
String connectorMaster = "Dynamic connector";
int pageNumber = 0;
double width = 1;
double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Definieren Sie Werte, um die Hierarchie aufzubauen
List<String> listPos = Arrays.asList(new String[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Definieren Sie eine Hashtable, um den Zeichenfolgennamen der langen Shape-ID zuzuordnen
Hashtable shapeIdMap = new Hashtable();
// Erstellen Sie ein neues Diagramm
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // Fügen Sie eine neue rechteckige Form hinzu
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Legen Sie die Eigenschaften der neuen Form fest
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// Erstellen Sie Verbindungen zwischen Knoten
for (String orgName : listPos)
{
    int lastColon = orgName.lastIndexOf(':');
    if(lastColon > 0)
    {
        String parendName = orgName.substring(0, lastColon);
        long shapeId = (long)shapeIdMap.get(orgName);
        long parentId = (long)shapeIdMap.get(parendName);
        Shape connector1 = new Shape();
        long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber);
        diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId, ConnectionPointPlace.RIGHT,
            shapeId, ConnectionPointPlace.LEFT, connecter1Id);
    }
}

//automatisches Layout-Flussdiagramm
LayoutOptions flowChartOptions = new LayoutOptions();
flowChartOptions.setLayoutStyle(LayoutStyle.FLOW_CHART);
flowChartOptions.setDirection(LayoutDirection.TOP_TO_BOTTOM);
flowChartOptions.setEnlargePage(true);

diagram.getPages().get(pageNumber).layout(flowChartOptions);

// Diagramm speichern
diagram.save("DrawFlowChart_java.vsdx", SaveFileFormat.VSDX);

Holen Sie sich eine kostenlose temporäre Lizenz

Sie können die API in ihrer vollen Kapazität testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie ein Organigramm programmgesteuert in Java erstellen. Es behandelt die Erstellung eines CompactTree- oder Flowchart-Diagramms, je nach Ihren Anforderungen. Darüber hinaus können Sie den Abschnitt Dokumentation besuchen, um weitere Funktionen der API kennenzulernen. Falls Sie Ihren Anwendungsfall oder Bedenken besprechen müssen, können Sie uns im Forum kontaktieren.

Siehe auch

Konvertieren von VSD oder VSDX in VTX in Java