צור תרשים ארגוני Java

תרשים ארגוני משמש כדי להסביר את היררכיית הדיווח או היחסים במכון או חברה. אתה יכול ליצור תרשים ארגוני ללא צורך בהתקנת יישום או כלי מבוסס ממשק משתמש. מאמר זה מכסה כיצד ליצור סוגים שונים של תרשימים ארגוניים באופן פרוגרמטי ב-Java.

יוצר תרשימים ארגוניים - התקנת Java API

Aspose.Diagram for Java API יכול לשמש ליצירת סוגים רבים של דיאגרמות חזותיות כולל תרשימים ותרשימי זרימה. אתה יכול להוריד את קובץ ה-JAR מהקטע הורדות או באמצעות מפרטי Maven הבאים בקובץ pom.xml של היישום שלך:

מאגר:

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

תלות:

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

צור תרשים ארגוני בסגנון CompactTree ב-Java

אתה יכול ליצור תרשים ארגוני בסגנון CompactTree עם השלבים הבאים:

  1. טען מאסטרים מכל דיאגרמה, סטנסיל או תבנית קיימים.
  2. הגדר ערכים לבניית ההיררכיה.
  3. הוסף צורות וחיבורים בין צמתים.
  4. שמור את דיאגרמת הפלט.

דוגמת הקוד שלהלן היא דוגמה כיצד ליצור תרשים ארגוני בסגנון CompactTree ב-Java:

// טען מאסטרים מכל דיאגרמה, סטנסיל או תבנית קיימים
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;
// הגדר ערכים לבניית ההיררכיה
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" });
// הגדר Hashtable כדי למפות את שם המחרוזת למזהה צורה ארוכה
Hashtable shapeIdMap = new Hashtable();
// צור תרשים חדש
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // הוסף צורת מלבן חדשה
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // הגדר את מאפייני הצורה החדשה
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// צור קשרים בין צמתים
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);
    }
}

//פריסה אוטומטית תרשים CompactTree
LayoutOptions compactTreeOptions = new LayoutOptions();
compactTreeOptions.setLayoutStyle(LayoutStyle.COMPACT_TREE);
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_RIGHT);
compactTreeOptions.setEnlargePage(false);

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

// שמור דיאגרמה
diagram.save("DrawCompactTreeChart_java.vsdx", SaveFileFormat.VSDX);

צור תרשים ארגוני בסגנון תרשים זרימה ב-Java

אתה יכול לעצב כמה סוגים של תרשימים ארגוניים שעשויים לעקוב אחר תבניות שונות. השלבים הבאים מראים כיצד ליצור תרשים ארגוני בסגנון תרשים זרימה באופן פרוגרמטי ב-Java:

  1. טען מאסטרים מכל דיאגרמה, סטנסיל או תבנית קיימים.
  2. הוסף צמתים ומחברים של הארגון.
  3. הגדר את הפריסה ושמור את דיאגרמת הפלט.

קטע הקוד הבא מדגים כיצד ליצור תרשים ארגוני בסגנון תרשים זרימה ב-Java:

// טען מאסטרים מכל דיאגרמה, סטנסיל או תבנית קיימים
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;
// הגדר ערכים לבניית ההיררכיה
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" });
// הגדר Hashtable כדי למפות את שם המחרוזת למזהה צורה ארוכה
Hashtable shapeIdMap = new Hashtable();
// צור תרשים חדש
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // הוסף צורת מלבן חדשה
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // הגדר את מאפייני הצורה החדשה
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// צור קשרים בין צמתים
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);
    }
}

//פריסה אוטומטית תרשים זרימה
LayoutOptions flowChartOptions = new LayoutOptions();
flowChartOptions.setLayoutStyle(LayoutStyle.FLOW_CHART);
flowChartOptions.setDirection(LayoutDirection.TOP_TO_BOTTOM);
flowChartOptions.setEnlargePage(true);

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

// שמור דיאגרמה
diagram.save("DrawFlowChart_java.vsdx", SaveFileFormat.VSDX);

קבל רישיון זמני בחינם

אתה יכול להעריך את ה-API במלוא יכולתו על ידי בקשת [רישיון זמני ללא תשלום].

סיכום

במאמר זה, למדת כיצד ליצור תרשים ארגוני באופן תוכנתי ב-Java. זה מכסה יצירת תרשים בסגנון CompactTree או תרשים זרימה בהתאם לדרישות שלך. יתר על כן, אתה יכול לבקר בסעיף תיעוד כדי ללמוד תכונות אחרות של ה-API. במקרה שאתה צריך לדון במקרה השימוש או החששות שלך, אתה יכול ליצור איתנו קשר בפורום.

ראה גם

המר VSD או VSDX ל-VTX ב-Java