Групповые фигуры презентаций с помощью Python

Обзор

Группировка фигур позволяет рассматривать несколько графических объектов как единое целое, чтобы перемещать, изменять размер, форматировать и преобразовывать их вместе. С Aspose.Slides for Python вы можете создать GroupShape, добавить и расположить дочерние фигуры внутри нее и сохранить результат в формате PPTX. В этой статье показано, как добавить групповую фигуру на слайд и как получить доступ к метаданным доступности, таким как Alt Text, из фигур внутри группы, обеспечивая более чистую структуру и более богатые, поддерживаемые презентации.

Добавление групповых фигур

Aspose.Slides поддерживает работу с групповыми фигурами на слайде. Эта возможность позволяет создавать более насыщенные презентации, рассматривая несколько фигур как один объект. Вы можете добавлять новые групповые фигуры, получать доступ к существующим, заполнять их дочерними фигурами и читать или изменять любые их свойства. Чтобы добавить групповую фигуру на слайд:

  1. Создайте экземпляр класса Presentation.
  2. Получите ссылку на слайд по индексу.
  3. Добавьте GroupShape на слайд.
  4. Добавьте фигуры в новую групповую фигуру.
  5. Сохраните изменённую презентацию в файл PPTX.

Пример ниже показывает, как добавить групповую фигуру на слайд.

import aspose.slides as slides

# Создать экземпляр класса Presentation.
with slides.Presentation() as presentation:
    # Получить первый слайд.
    slide = presentation.slides[0]

    # Добавить групповую фигуру на слайд.
    group_shape = slide.shapes.add_group_shape()

    # Добавить фигуры внутрь групповой фигуры.
    group_shape.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 100, 100, 100)
    group_shape.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 100, 100)
    group_shape.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 300, 100, 100)
    group_shape.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 300, 100, 100)

    # Записать файл PPTX на диск.
    presentation.save("group_shape.pptx", slides.export.SaveFormat.PPTX)

Доступ к свойству Alt Text

В этом разделе объясняется, как прочитать Alt Text фигур, содержащихся в групповой фигуре на слайде, используя Aspose.Slides. Чтобы получить доступ к Alt Text фигур:

  1. Создайте экземпляр класса Presentation для представления файла PPTX.
  2. Получите ссылку на слайд по его индексу.
  3. Получите доступ к коллекции фигур слайда.
  4. Получите доступ к GroupShape.
  5. Считайте свойство Alt Text.

Пример ниже извлекает Alt Text фигур, содержащихся в групповых фигурах.

import aspose.slides as slides

# Создать экземпляр класса Presentation для открытия файла PPTX.
with slides.Presentation("group_shape.pptx") as presentation:
    # Получить первый слайд.
    slide = presentation.slides[0]

    for shape in slide.shapes:
        if isinstance(shape, slides.GroupShape):
            # Доступ к групповой фигуре.
            for child_shape in shape.shapes:
                # Доступ к свойству Alt Text.
                print(child_shape.alternative_text)

FAQ

Поддерживается ли вложенная группировка (группа внутри группы)?

Да. У GroupShape есть свойство parent_group, которое напрямую указывает поддержку иерархии (группа может быть дочерней по отношению к другой группе).

Как контролировать Z‑порядок группы относительно других объектов на слайде?

Используйте свойство z_order_position группы GroupShape, чтобы просмотреть или изменить её позицию в стеке отображения.

Могу ли я запретить перемещение/редактирование/разгруппировку?

Да. Раздел блокировки группы доступен через group_shape_lock, что позволяет ограничить операции над объектом.