Я пытаюсь разобрать каждую фигуру в группе. Вот фрагмент кода.
// for group shapes
if(shape.getType()==TypeValue.GROUP)
for (com.aspose.diagram.Shape subshape : (Iterable<com.aspose.diagram.Shape>) shape.getShapes()) {
System.out.println("\nParent Shape ID : " + shape.getID());
System.out.println("Parent Name : " + shape.getName());
System.out.println("\nShape ID : " + subshape.getID());
System.out.println("Name : " + subshape.getName());
//System.out.println(shape.getShapes().getCount());
if (subshape.getText().getValue().getText() != "") {
txt = (subshape.getText().getValue().getText().replaceAll("\\<.*?>", ""));
System.out.println("Text from shape added : " + txt);
txt += txt;
}
Этот фрагмент кода анализирует групповые фигуры и возвращает идентификатор родительского элемента, имя и идентификатор дочерней фигуры, а также текст фигуры. Однако фрагмент не может извлечь все формы внутри контейнера / группы.
Вот вывод. Идентификатор формы: 1 Имя: Квадрат.1 Добавлен текст из фигуры: маршрут Amazon 53
Идентификатор фигуры: 2 Имя: Квадрат.2 Добавлен текст из фигуры: AWS WAF
Форма ID: 3 Название: Square.3 Текст из формы добавлен: CloudFRont Distribution
Идентификатор формы: 4 Имя: Square.4 Текст из формы добавлен: S3
Идентификатор формы: 5 Название: Square.5 Текст из формы добавлен: AWS пул пользователей cognito
Идентификатор формы: 6 Имя: Square.6 Текст из формы добавлен: AWS quicksight
Идентификатор формы: 9 Имя: Круг.9 Добавлен текст из фигуры: AWS Аврора
Идентификатор фигуры: 10 Имя: Круг.10 Добавлен текст из фигуры: Красное смещение
Идентификатор фигуры: 15 Имя: Шестиугольник .15 Добавлен текст из фигуры: Dynamo db
Идентификатор фигуры: 16 Имя: шестиугольник.16 Добавлен текст фигуры: Amazon Athena
Идентификатор фигуры: 36 Имя: Добавлен текст фигуры: Logi c уровень
Родительский идентификатор формы: 36 Родительское имя:
Идентификатор формы: 18 Имя: Круг.18 Добавлен текст из фигуры : CloudWatch
Идентификатор родительской формы: 36 Имя родителя:
Идентификатор формы: 35 Имя: