ORG-Diagramm Java erstellen

Ein ORG-Diagramm wird verwendet, um die Berichts- oder Beziehungshierarchie eines Instituts oder Unternehmens zu erläutern. Sie können ein ORG-Diagramm erstellen, ohne eine benutzeroberflächenbasierte Anwendung oder ein Tool installieren zu müssen. In diesem Artikel wird beschrieben, wie Sie verschiedene Arten von ORG-Diagrammen programmgesteuert in Java erstellen.

ORG Chart Maker – 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 ORG-Diagramm 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.

Der folgende Beispielcode zeigt, wie ein ORG-Diagramm in Java erstellt wird:

// 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 ORG-Diagramm im Flussdiagrammstil in Java

Möglicherweise müssen Sie verschiedene Arten von Organigrammen erstellen, die unterschiedlichen Vorlagen folgen können. Hier erfahren Sie, wie Sie ein ORG-Diagramm im Flowchart-Stil programmatisch 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 erklärt, wie man mit Java ein ORG-Diagramm im Flussdiagramm-Stil erstellt:

// 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 ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie ORG-Diagramme programmgesteuert in Java erstellen. Es erklärt das Erstellen des CompactTree- oder Flowchart-Diagramms gemäß Ihren Anforderungen. Darüber hinaus können Sie sich verschiedene andere Funktionen ansehen, indem Sie den Bereich Dokumentation durchgehen. Bitte zögern Sie nicht, uns im Forum zu schreiben, falls Sie Ihre Anforderungen oder Bedenken besprechen möchten.

Siehe auch

Konvertieren von VSD oder VSDX in VTX in Java