В презентациях PowerPoint используются различные типы диаграмм, чтобы сделать содержание более подробным. Эти диаграммы состоят из различных форм, таких как эллипсы, линии, прямоугольники и соединители. В этой статье вы узнаете, как программно добавлять, клонировать и удалять фигуры на слайдах PowerPoint в Python.
- Библиотека Python для работы с фигурами PowerPoint
- Типы фигур PowerPoint
- Добавить фигуру в слайды PowerPoint
- Добавление соединителя к фигурам в PowerPoint
- Клонировать фигуру в слайдах PowerPoint
- Удалить фигуры из слайдов PowerPoint
Библиотека Python для работы с фигурами PowerPoint
Aspose.Slides for Python через .NET предназначен для создания презентаций PowerPoint и управления ими из приложений Python. Мы будем использовать эту библиотеку для работы с фигурами на слайдах PowerPoint. Вы можете установить его из PyPI с помощью следующей команды pip.
> pip install aspose.slides
Типы фигур в PowerPoint
Вы можете создавать различные фигуры в презентациях PowerPoint, используя Aspose.Slides для Python. К наиболее часто используемым формам относятся:
Добавить фигуру в слайды PowerPoint в Python
Для добавления любой формы, включая эллипс, линию, прямоугольник, используется метод addautoshape(ShapeType, Single, Single, Single, Single), которому можно передать тип фигуры и другие необходимые параметры. Перечисление ShapeType используется для указания типа фигуры. Ниже приведены шаги, чтобы добавить фигуру к слайду PowerPoint в Python.
- Создайте презентацию или загрузите существующую с помощью класса Presentation.
- Получите ссылку на нужный слайд из коллекции Presentation.slides.
- Добавьте эллипс (или любую другую фигуру), используя метод addautoshape(ShapeType, Single, Single, Single, Single).
- Сохраните презентацию с помощью метода Presentation.save(String, SaveFormat).
В следующем примере кода показано, как добавить фигуру на слайд PowerPoint в Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create a new presentation
with slides.Presentation() as pres:
# Get the first slide
sld = pres.slides[0]
# Add auto shape of ellipse type
shp = sld.shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 50, 150, 150, 50)
# Apply some formatting to ellipse shape
shp.fill_format.fill_type = slides.FillType.SOLID
shp.fill_format.solid_fill_color.color = drawing.Color.pink
# Apply some formatting to the line of Ellipse
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
# Save the PPTX file to disk
pres.save("add-ellipse.pptx", slides.export.SaveFormat.PPTX)
Ниже показан эллипс, который мы добавили, используя приведенный выше пример кода.
Соедините фигуры PowerPoint с соединителем в Python
На диаграммах различные фигуры соединяются друг с другом с помощью линии, называемой соединителем. Соединитель может быть прямой или изогнутой линией. Давайте посмотрим, как добавить соединитель между двумя фигурами PowerPoint в Python.
- Сначала создайте экземпляр класса Presentation для создания или загрузки презентации.
- Затем получите ссылку на слайд, используя коллекцию Presentation.slides.
- Добавьте две фигуры так же, как вы добавили в предыдущем разделе, и получите их ссылки.
- Создайте соединитель, используя метод addconnector(ShapeType, Single, Single, Single, Single).
- Соедините фигуры с помощью свойств Connector.startshapeconnectedto и Connector.endshapeconnectedto.
- Вызовите метод Connector.reroute(), чтобы создать кратчайший путь автоматического подключения.
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).
В следующем примере кода показано, как соединить фигуры на слайде PowerPoint в Python.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create presentation
with slides.Presentation() as presentation:
# Access shapes collection for selected slide
shapes = presentation.slides[0].shapes
# Add ellipse
ellipse = shapes.add_auto_shape(slides.ShapeType.ELLIPSE, 0, 100, 100, 100)
# Add auto shape rectangle
rectangle = shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 300, 100, 100)
# Add connector to connect shapes
connector = shapes.add_connector(slides.ShapeType.BENT_CONNECTOR2, 0, 0, 10, 10)
# Join shapes using connector
connector.start_shape_connected_to = ellipse
connector.end_shape_connected_to = rectangle
# Call reroute to set the automatic shortest path between shapes
connector.reroute()
# Save presenation
presentation.save("add-connector.pptx", slides.export.SaveFormat.PPTX)
Ниже приведен снимок экрана презентации после соединения фигур с помощью соединителя.
Клонирование фигур PowerPoint в Python
Иногда вы предпочитаете клонировать фигуры вместо создания новой. Для этого Aspose.Slides поддерживает клонирование фигур. Ниже приведены шаги для клонирования фигуры в PowerPoint с помощью Python.
- Сначала используйте класс Presentation для загрузки файла презентации.
- Получите ссылку на слайд из коллекции Presentation.slides.
- Получите доступ к фигурам исходного и целевого слайдов из коллекции ISlide.shapes.
- Клонируйте фигуры из коллекции фигур исходного слайда на целевой слайд с помощью метода addclone().
- Наконец, сохраните обновленный файл презентации.
В следующем примере кода показано, как клонировать фигуры на слайдах PowerPoint в Python.
import aspose.slides as slides
# Load presentation
with slides.Presentation("add-ellipse.pptx") as presentation:
# Access shapes of the source slide
sourceShapes = presentation.slides[0].shapes
# Add a new blank slide
blankLayout = presentation.masters[0].layout_slides.get_by_type(slides.SlideLayoutType.BLANK)
destSlide = presentation.slides.add_empty_slide(blankLayout)
# Access shapes of destination slide
destShapes = destSlide.shapes
# Clone shapes
destShapes.add_clone(sourceShapes[0], 50, 150 + sourceShapes[0].height)
destShapes.add_clone(sourceShapes[0])
destShapes.insert_clone(0, sourceShapes[0], 50, 150)
# Save file
presentation.save("clone-shapes.pptx", slides.export.SaveFormat.PPTX)
Удалить фигуры из слайдов PowerPoint в Python
Вы также можете удалить фигуры из презентаций PowerPoint, выполнив следующие действия.
- Создайте экземпляр класса Presentation для загрузки файла PPT/PPTX.
- Получите доступ к нужному слайду из коллекции Presentation.slides.
- Отфильтруйте нужную фигуру с помощью определенного текста, используя свойство IShape.alternativetext.
- Удалите фигуру с помощью метода ISlide.shapes.remove(IShape).
- Наконец, сохраните обновленный файл презентации.
В следующем примере кода показано, как удалить фигуры из слайда PowerPoint в Python.
# Load presentation
with slides.Presentation("add-ellipse.pptx") as presentation:
# Get the first slide
sld = presentation.slides[0]
alttext = "User Defined"
# Loop through shapes
for i in range(len(sld.shapes)):
# Find shape by alternative text
ashp = sld.shapes[0]
if ashp.alternative_text == alttext:
sld.shapes.remove(ashp)
# Save file
presentation.save("remove-shapes.pptx", slides.export.SaveFormat.PPTX)
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию для использования Aspose.Slides for Python без ограничений на пробную версию.
Вывод
MS PowerPoint поддерживает ряд форм для создания различных типов диаграмм, таких как блок-схемы. В этой статье мы рассмотрели, как создавать фигуры PowerPoint, такие как эллипсы, прямоугольники, и соединять их с помощью соединителей в Python. Кроме того, вы узнали, как программно клонировать и удалять фигуры в слайдах PowerPoint. Вы можете узнать больше об Aspose.Slides для Python, используя документацию. Кроме того, вы можете сообщить нам о своих вопросах через наш форум.