Skapa ORG Chart Java

Ett ORG-diagram används för att förklara rapportering- eller relationshierarkin för ett institut eller ett företag. Du kan skapa ett ORG-diagram utan att behöva installera ett användargränssnittsbaserat program eller verktyg. Den här artikeln tar upp hur du skapar olika typer av ORG-diagram programmatiskt i Java.

ORG Chart Maker – Java API-installation

Aspose.Diagram for Java API kan användas för att skapa många typer av visuella diagram inklusive diagram och flödesscheman. Du kan ladda ner JAR-filen från avsnittet Nedladdningar eller använda följande Maven-specifikationer i pom.xml-filen för din applikation:

Förvar:

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

Beroende:

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

Skapa ORG-diagram i CompactTree Style i Java

Du kan skapa ett ORG-diagram i CompactTree-stil med följande steg:

  1. Ladda masters från alla befintliga diagram, stenciler eller mallar.
  2. Definiera värden för att konstruera hierarkin.
  3. Lägg till former och kopplingar mellan noder.
  4. Spara utgångsdiagrammet.

Följande exempelkod visar hur man skapar ett ORG-diagram i Java:

// Ladda masters från alla befintliga diagram, stenciler eller mallar
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;
// Definiera värden för att konstruera hierarkin
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" });
// Definiera en hashtabell för att mappa strängens namn till lång form-id
Hashtable shapeIdMap = new Hashtable();
// Skapa ett nytt diagram
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // Lägg till en ny rektangelform
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Ställ in den nya formens egenskaper
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// Skapa anslutningar mellan noder
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);
    }
}

//automatisk layout CompactTree diagram
LayoutOptions compactTreeOptions = new LayoutOptions();
compactTreeOptions.setLayoutStyle(LayoutStyle.COMPACT_TREE);
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_RIGHT);
compactTreeOptions.setEnlargePage(false);

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

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

Skapa ORG-diagram i flödesschemastil i Java

Du kan behöva skapa olika typer av ORG-diagram som kan följa olika mallar. Här kommer du att lära dig hur du skapar ett ORG-diagram i Flowchart-stil programmatiskt i Java:

  1. Ladda masters från alla befintliga diagram, stenciler eller mallar.
  2. Lägg till organisationsnoder och kopplingar.
  3. Ställ in layout och spara utdatadiagram.

Kodavsnittet nedan förklarar hur man skapar ett ORG-diagram i flödesdiagramstil med Java:

// Ladda masters från alla befintliga diagram, stenciler eller mallar
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;
// Definiera värden för att konstruera hierarkin
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" });
// Definiera en hashtabell för att mappa strängens namn till lång form-id
Hashtable shapeIdMap = new Hashtable();
// Skapa ett nytt diagram
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // Lägg till en ny rektangelform
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // Ställ in den nya formens egenskaper
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// Skapa anslutningar mellan noder
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);
    }
}

//automatisk layout Flödesschema
LayoutOptions flowChartOptions = new LayoutOptions();
flowChartOptions.setLayoutStyle(LayoutStyle.FLOW_CHART);
flowChartOptions.setDirection(LayoutDirection.TOP_TO_BOTTOM);
flowChartOptions.setEnlargePage(true);

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

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

Få gratis tillfällig licens

Du kan testa API:t utan några utvärderingsbegränsningar genom att begära en gratis temporär licens.

Slutsats

I den här artikeln har du lärt dig hur du skapar ORG-diagram programmatiskt i Java. Den förklarar hur du skapar CompactTree- eller flödesschemat enligt dina behov. Dessutom kan du ta en titt på olika andra funktioner genom att gå igenom utrymmet dokumentation. Skriv gärna till oss på forumet om du vill diskutera några av dina krav eller problem.

Se även

Konvertera VSD eller VSDX till VTX i Java