Створення ORG Chart Java

ОРГ-діаграма використовується для пояснення звітності або ієрархії відносин інституту чи компанії. Ви можете створити діаграму ORG без необхідності інсталювати програму або інструмент на основі інтерфейсу користувача. У цій статті розповідається про те, як програмно створювати різні типи діаграм ORG на Java.

ORG Chart Maker – встановлення 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>

Створення ORG Chart у стилі CompactTree у Java

Ви можете створити діаграму ORG у стилі CompactTree, виконавши такі дії:

  1. Завантажуйте шаблони з будь-якої існуючої діаграми, трафарету чи шаблону.
  2. Визначте значення для побудови ієрархії.
  3. Додайте форми та з’єднання між вузлами.
  4. Збережіть вихідну схему.

Наведений нижче приклад коду демонструє, як створити діаграму ORG у 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 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);

Створення ORG Chart у стилі блок-схеми в Java

Вам може знадобитися створити різні типи ORG-діаграм, які можуть відповідати іншим шаблонам. Тут ви дізнаєтесь, як програмно створити діаграму ORG у стилі блок-схеми в Java:

  1. Завантажуйте шаблони з будь-якої існуючої діаграми, трафарету чи шаблону.
  2. Додайте організаційні вузли та з’єднувачі.
  3. Налаштуйте макет і збережіть вихідну діаграму.

Наведений нижче фрагмент коду пояснює, як створити ORG-схему у стилі блок-схеми за допомогою 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 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 без будь-яких оціночних обмежень, попросивши безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як програмно створювати діаграми ORG на Java. Тут пояснюється створення діаграми стилів CompactTree або Flowchart відповідно до ваших потреб. Крім того, ви можете переглянути різні інші функції, перейшовши до розділу документація. Будь ласка, напишіть нам на форум, якщо ви захочете обговорити будь-які ваші вимоги чи проблеми.

Дивись також

Перетворення VSD або VSDX на VTX у Java