Групповые фигуры презентаций в Python через Java
Обзор
В этой статье объясняется, как работать с групповыми фигурами в Aspose.Slides. Показано, как добавить групповую фигуру на слайд, разместить внутри неё другие фигуры и сохранить обновлённую презентацию. Также демонстрируется, как получить доступ к фигурам, хранящимся внутри группы, и прочитать их альтернативный текст с помощью getAlternativeText. Кроме того, статья кратко охватывает связанные возможности групповых фигур, такие как вложенные группы, порядок Z и параметры блокировки.
Добавить групповую фигуру
Aspose.Slides поддерживает работу с групповыми фигурами на слайдах. Эта возможность помогает разработчикам создавать более насыщенные презентации. Aspose.Slides for Python via Java поддерживает добавление и доступ к групповым фигурам. Вы можете заполнить групповую фигуру другими фигурами или получить доступ к её свойствам. Чтобы добавить групповую фигуру на слайд с помощью Aspose.Slides for Python via Java:
- Создайте экземпляр класса Presentation.
- Получите ссылку на слайд по его индексу.
- Добавьте групповую фигуру на слайд.
- Добавьте фигуры в групповую фигуру.
- Сохраните изменённую презентацию как файл PPTX.
Ниже приведён пример, который добавляет групповую фигуру на слайд:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import NullableBool, Presentation, SaveFormat, ShapeFrame, ShapeType
# Создать экземпляр класса Presentation.
presentation = Presentation()
try:
# Получить первый слайд.
slide = presentation.getSlides().get_Item(0)
# Получить коллекцию фигур слайда.
slide_shapes = slide.getShapes()
# Добавить групповую фигуру на слайд.
group_shape = slide_shapes.addGroupShape()
# Добавить фигуры внутри групповой фигуры.
group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 300, 100, 100, 100)
group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 500, 100, 100, 100)
group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 300, 300, 100, 100)
group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 500, 300, 100, 100)
# Установить кадр (frame) групповой фигуры.
group_frame = ShapeFrame(100, 300, 500, 40, NullableBool.False_, NullableBool.False_, 0)
group_shape.setFrame(group_frame)
# Записать файл PPTX на диск.
presentation.save("GroupShape.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Доступ к альтернативному тексту
В этом разделе показано, как получить доступ к альтернативному тексту фигур внутри группы на слайде. Чтобы получить этот текст с помощью Aspose.Slides for Python via Java:
- Создайте экземпляр класса Presentation, представляющего файл PPTX.
- Получите ссылку на слайд по его индексу.
- Получите доступ к коллекции фигур слайда.
- Получите доступ к групповой фигуре.
- Прочитайте альтернативный текст её фигур с помощью getAlternativeText.
Ниже приведён пример, который получает альтернативный текст фигур внутри группы:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import GroupShape, Presentation
# Создать экземпляр класса Presentation, представляющего файл PPTX.
presentation = Presentation("AltText.pptx")
try:
# Получить первый слайд.
slide = presentation.getSlides().get_Item(0)
for i in range(slide.getShapes().size()):
# Получить доступ к фигуре в коллекции фигур слайда.
shape = slide.getShapes().get_Item(i)
if isinstance(shape, GroupShape):
# Получить доступ к фигурам внутри группы.
for j in range(shape.getShapes().size()):
child_shape = shape.getShapes().get_Item(j)
# Прочитать альтернативный текст.
print(child_shape.getAlternativeText())
finally:
presentation.dispose()
FAQ
Поддерживается ли вложенная группировка (группа внутри группы)?
Да. У GroupShape есть метод getParentGroup, который указывает на поддержку иерархии: группа может быть дочерней по отношению к другой группе.
Как контролировать порядок Z группы относительно других объектов на слайде?
Используйте метод getZOrderPosition объекта GroupShape, чтобы проверить его позицию в стеке отображения.
Можно ли запретить перемещение, редактирование или разгруппировку?
Да. Блокировки группы доступны через getGroupShapeLock, что позволяет ограничить операции с объектом.