Добавление слайдов в презентации с Python
Overview
Прежде чем добавлять слайды в презентацию, полезно понять, как PowerPoint организует их. Каждая презентация содержит мастер‑слайд, необязательные слайды‑макеты и один или несколько обычных слайдов. Каждый слайд имеет уникальный идентификатор, а обычные слайды упорядочены по нулевому индексу. В этой статье показано, как использовать Aspose.Slides for Python для создания слайдов и выбора подходящих макетов.
Add Slides to Presentations
Aspose.Slides позволяет добавлять новые слайды на основе существующих слайдов‑макетов. Приведённый ниже пример проходит по каждому макету в презентации, добавляет слайд, использующий этот макет, и затем сохраняет файл.
- Создайте экземпляр класса Presentation.
- Получите доступ к SlideCollection.
- Для каждого элемента в
presentation.layout_slidesвызовитеadd_empty_slide, чтобы добавить слайд, использующий этот макет. - При необходимости измените только что добавленные слайды.
- Сохраните презентацию в файл PPTX.
import aspose.slides as slides
# Создать экземпляр класса Presentation.
with slides.Presentation() as presentation:
# Получить доступ к коллекции слайдов.
slides = presentation.slides
for layout_slide in presentation.layout_slides:
# Добавить пустой слайд в коллекцию слайдов.
slides.add_empty_slide(layout_slide)
# Выполнить некоторые действия с только что добавленными слайдами.
# Сохранить презентацию на диск.
presentation.save("empty_slides.pptx", slides.export.SaveFormat.PPTX)
FAQ
Can I insert a new slide at a specific position, not just at the end?
Да. Библиотека поддерживает операции над коллекциями слайдов и insert/clone, поэтому вы можете добавить слайд по необходимому индексу, а не только в конец.
Are the theme/styles preserved when adding a slide based on a layout?
Да. Макет наследует форматирование от своего мастера, а новый слайд наследует его от выбранного макета и связанного с ним мастера.
Which slide is present in a new “empty” presentation before adding slides?
Новая созданная презентация уже содержит один пустой слайд с индексом ноль. Это важно учитывать при вычислении индексов вставки.
How do I choose the “right” layout for a new slide if the master has many options?
Обычно выбирают LayoutSlide, соответствующий требуемой структуре (Title and Content, Two Content и др.). Если такой макет отсутствует, вы можете добавить его в мастер и затем использовать его.