Робота з фігурами в PowerPoint на Python

У презентаціях PowerPoint використовуються різні типи діаграм, щоб зробити вміст більш докладним. Ці діаграми складаються з різних форм, таких як еліпси, лінії, прямокутники та з’єднувачі. У цій статті ви дізнаєтеся, як програмно додавати, клонувати та видаляти фігури в слайдах PowerPoint у Python.

Бібліотека Python для роботи з фігурами PowerPoint

Aspose.Slides for Python via .NET призначений для створення та керування презентаціями PowerPoint із програм Python. Ми будемо використовувати цю бібліотеку для роботи з фігурами в слайдах PowerPoint. Ви можете встановити його з PyPI за допомогою такої команди pip.

> pip install aspose.slides

Типи фігур у PowerPoint

Ви можете створювати різноманітні фігури в презентаціях PowerPoint за допомогою Aspose.Slides for Python. Найбільш часто використовувані форми включають:

Додайте форму до слайдів PowerPoint PPT у Python

Щоб додати будь-яку форму, зокрема еліпс, лінію, прямокутник, використовується метод addautoshape(ShapeType, Single, Single, Single, Single), якому можна передати тип фігури та інші необхідні параметри. Перелік ShapeType використовується для визначення типу фігури. Нижче наведено кроки, щоб додати форму до слайда PowerPoint у Python.

  1. Створіть презентацію або завантажте наявну за допомогою класу Presentation.
  2. Отримайте посилання на потрібний слайд із колекції Presentation.slides.
  3. Додайте еліпс (або будь-яку іншу фігуру) за допомогою методу addautoshape(ShapeType, Single, Single, Single, Single).
  4. Збережіть презентацію за допомогою методу Presentation.save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як додати фігуру до слайда PowerPoint у Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Створіть нову презентацію
with slides.Presentation() as pres:
    # Отримайте перший слайд
    sld = pres.slides[0]

    # Додати автоматичну форму типу еліпса
    shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)

    # Застосуйте деяке форматування до форми еліпса
    shp.fill_format.fill_type = slides.FillType.SOLID
    shp.fill_format.solid_fill_color.color = drawing.Color.pink

    # Застосуйте деяке форматування до лінії Еліпса
    shp.line_format.fill_format.fill_type = slides.FillType.SOLID
    shp.line_format.fill_format.solid_fill_color.color = drawing.Color.purple
    shp.line_format.width = 5

    # Збережіть файл PPTX на диск
    pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)

Нижче наведено еліпс, який ми додали за допомогою прикладу коду вище.

Додайте форму до PowerPoint PPT на Python

З’єднайте фігури PowerPoint за допомогою конектора в Python

На діаграмах різні фігури з’єднуються за допомогою лінії, яка називається з’єднувачем. З’єднувач може бути прямою або вигнутою лінією. Давайте подивимося, як додати з’єднувач між двома фігурами PowerPoint у Python.

  1. Спочатку створіть екземпляр класу Presentation, щоб створити або завантажити презентацію.
  2. Потім отримайте посилання на слайд за допомогою колекції Presentation.slides.
  3. Додайте дві фігури так само, як ви додали в попередньому розділі, і отримайте їх посилання.
  4. Створіть конектор за допомогою методу addconnector(ShapeType, Single, Single, Single, Single).
  5. З’єднайте фігури за допомогою властивостей Connector.startshapeconnectedto та Connector.endshapeconnectedto.
  6. Викличте метод Connector.reroute(), щоб створити найкоротший шлях автоматичного підключення.
  7. Нарешті, збережіть презентацію за допомогою методу Presentation.save(string, SaveFormat).

У наведеному нижче прикладі коду показано, як з’єднати фігури на слайді PowerPoint у Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Створити презентацію
with slides.Presentation() as presentation:
    # Доступ до колекції фігур для вибраного слайда
    shapes = presentation.slides[0].shapes

    # Додати еліпс
    ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)

    # Додайте автоматичну форму прямокутника
    rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)

    # Додайте з’єднувач для з’єднання фігур
    connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)

    # З’єднайте фігури за допомогою з’єднувача
    connector.start_shape_connected_to = ellipse
    connector.end_shape_connected_to = rectangle

    # Викличте перенаправлення, щоб установити автоматичний найкоротший шлях між фігурами
    connector.reroute()

    # Зберегти презентацію
    presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)

Нижче наведено знімок екрана презентації після з’єднання фігур за допомогою з’єднувача.

З’єднайте фігури PowerPoint за допомогою конектора в Python

Клонуйте фігури PowerPoint PPT у Python

Іноді ви вирішуєте клонувати фігури замість створення нових. Для досягнення цього Aspose.Slides підтримує клонування форми. Нижче наведено кроки для клонування фігури в PowerPoint за допомогою Python.

  1. Спочатку використовуйте клас Presentation, щоб завантажити файл презентації.
  2. Отримайте посилання на слайд із колекції Presentation.slides.
  3. Доступ до форм слайдів джерела та призначення з колекції ISlide.shapes.
  4. Клонуйте фігури з колекції фігур вихідного слайда в цільовий слайд за допомогою методу addclone().
  5. Нарешті збережіть оновлений файл презентації.

У наведеному нижче прикладі коду показано, як клонувати фігури в слайдах PowerPoint у Python.

import aspose.slides as slides

# Завантажити презентацію
with slides.Presentation("add-ellipse.pptx") as presentation:
    # Доступ до фігур вихідного слайда
    sourceShapes = presentation.slides[0].shapes

    # Додайте новий порожній слайд
    blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
    destSlide = presentation.slides.add_empty_slide(blankLayout)

    # Доступ до форм цільового слайда
    destShapes = destSlide.shapes

    # Клонувати форми
    destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
    destShapes.add_clone(sourceShapes[0])                 
    destShapes.insert_clone(0, sourceShapes[0], 50, 150)

    # Зберегти файл
    presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)

Видалення фігур PPT із презентацій PowerPoint у Python

Ви також можете видалити фігури з презентацій PowerPoint, виконавши наведені нижче дії.

  1. Створіть екземпляр класу Presentation для завантаження файлу PPT/PPTX.
  2. Перейдіть до потрібного слайду з колекції Presentation.slides.
  3. Відфільтруйте потрібну форму за допомогою певного тексту за допомогою властивості IShape.alternativetext.
  4. Видаліть фігуру за допомогою методу ISlide.shapes.remove(IShape).
  5. Нарешті збережіть оновлений файл презентації.

У наведеному нижче прикладі коду показано, як видалити фігури зі слайда PowerPoint у Python.

# Завантажити презентацію
with slides.Presentation("add-ellipse.pptx") as presentation:
    # Отримайте перший слайд
    sld = presentation.slides[0]

    alttext = "User Defined"

    # Перебирайте фігури
   for i in range(len(sld.shapes)):
        # Знайти форму за альтернативним текстом
        ashp = sld.shapes[0]
        if ashp.alternative_text == alttext:
            sld.shapes.remove(ashp)

    # Зберегти файл
    presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)

Робота з фігурами в PowerPoint PPT – отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб працювати з фігурами PowerPoint без обмежень оцінювання.

Висновок

MS PowerPoint підтримує низку форм для створення різних типів діаграм, наприклад блок-схем. У цій статті ми розповіли, як створювати фігури PowerPoint, наприклад еліпси та прямокутники, і з’єднувати їх за допомогою конекторів у Python. Крім того, ви навчилися програмно клонувати та видаляти фігури в слайдах PowerPoint.

Python PowerPoint API - Докладніше

Ви можете дізнатися більше про Aspose.Slides for Python за допомогою документації. Ви також можете повідомити нам про свої запити через наш форум.

Дивись також