Організаційна схема використовується для пояснення звітності або ієрархії відносин в установі чи компанії. Ви можете створити організаційну діаграму без необхідності інсталювати програму або інструмент на основі інтерфейсу користувача. У цій статті описано, як програмно створювати різні типи організаційних діаграм у Java.
- Конструктор організаційних діаграм – інсталяція Java API
- Створення організаційної діаграми в стилі CompactTree в 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, виконавши такі дії:
- Завантажте шаблони з будь-якої існуючої діаграми, трафарету чи шаблону.
- Визначте значення для побудови ієрархії.
- Додайте форми та з’єднання між вузлами.
- Збережіть вихідну схему.
У наведеному нижче прикладі коду показано, як створити організаційну діаграму в стилі 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 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:
- Завантажте шаблони з будь-якої існуючої діаграми, трафарету чи шаблону.
- Додайте організаційні вузли та з’єднувачі.
- Налаштуйте макет і збережіть вихідну діаграму.
Наведений нижче фрагмент коду демонструє, як створити організаційну діаграму у стилі блок-схеми в 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 у повній мірі, надіславши запит на безкоштовну тимчасову ліцензію.
Висновок
У цій статті ви дізналися, як програмно створити організаційну діаграму в Java. Він охоплює створення діаграм стилів CompactTree або Flowchart залежно від ваших вимог. Крім того, ви можете відвідати розділ документація, щоб дізнатися про інші функції API. Якщо вам потрібно обговорити ваш варіант використання або проблеми, ви можете зв’язатися з нами на форумі.