Как сгруппировать или разгруппировать фигуры в PowerPoint в Python

Группировка фигур может быть особенно полезна при работе со сложными диаграммами, графиками или другим содержимым слайда, состоящим из множества отдельных фигур. Это позволяет рассматривать сгруппированные фигуры как единый, целостный элемент на слайде. Разгруппировка может быть полезна, когда нужно отредактировать или изменить положение отдельных фигур внутри сгруппированного объекта.
В этой статье я расскажу, как группировать и разгруппировать фигуры в PowerPoint с помощью библиотеки Spire.Presentation for Python.
- Группировать фигуры в PowerPoint в Python
- Разгруппируйте фигуры в PowerPoint в Python
Установите зависимость
Это решение требует установки в качестве зависимости Spire.Presentation for Python , которая представляет собой библиотеку Python для чтения, создания и работы с документами PowerPoint в программе на Python. Вы можете установить Spire.Presentation for Python, выполнив следующую команду pip.
pip install Spire.Presentation
Группировать фигуры в PowerPoint в Python
Spire.Presentation for Python предоставляет метод ISlide.GroupShapes(shapeList: List) для группировки двух или более фигур на определенном слайде. Следующий пример кода добавляет две фигуры на слайд и группирует их вместе как единство.
from spire.presentation import *
# Создаем объект класса Presentation
ppt = Presentation()
# Получаем первый слайд
slide = ppt.Slides[0]
# Добавляем два объекта на слайд
rectangle = slide.Shapes.AppendShape(ShapeType.Rectangle, RectangleF.FromLTRB (250, 180, 450, 220))
rectangle.Fill.FillType = FillFormatType.Solid
rectangle.Fill.SolidColor.KnownColor = KnownColors.SkyBlue
rectangle.Line.Width = 0.1
ribbon = slide.Shapes.AppendShape(ShapeType.Ribbon2, RectangleF.FromLTRB (290, 155, 410, 235))
ribbon.Fill.FillType = FillFormatType.Solid
ribbon.Fill.SolidColor.KnownColor = KnownColors.LightPink
ribbon.Line.Width = 0.1
# Добавляем объекты в список
shape_list = []
shape_list.append(rectangle)
shape_list.append(ribbon)
# Группируем объекты
slide.GroupShapes(shape_list)
# Сохраняем документ
ppt.SaveToFile("GroupShapes.pptx", FileFormat.Pptx2013)
ppt.Dispose()
Разгруппируйте фигуры в PowerPoint в Python
Чтобы разгруппировать сгруппированные фигуры в документе PowerPoint, необходимо просмотреть все фигуры на слайде, найти сгруппированные фигуры, а затем разгруппировать их с помощью метода ISlide.Ungroup(groupShape: GroupShape). В следующем коде приведен пример.
from spire.presentation import *
# Создаем объект класса Presentation
ppt = Presentation()
# Загружаем документ PowerPoint
ppt.LoadFromFile("GroupShapes.pptx")
# Проходим по всем слайдам в документе
for i in range(ppt.Slides.Count):
slide = ppt.Slides[i]
# Проходим по всем объектам на каждом слайде
for j in range(slide.Shapes.Count):
shape = slide.Shapes[j]
# Проверяем, является ли объект сгруппированным
if isinstance(shape, GroupShape):
groupShape = shape
# Разгруппируем сгруппированный объект
slide.Ungroup(groupShape)
# Сохраняем результирующий документ
ppt.SaveToFile("UngroupShapes.pptx", FileFormat.Pptx2013)
ppt.Dispose()
Заключение
В этой статье вы узнали, как сгруппировать или разгруппировать фигуры в PowerPoint с помощью Spire.Presentation for Python API. Эта библиотека способна выполнять различные операции над документами PowerPoint, такие как:
Преобразование PPT(X) в HTML в Python