Управление Zoom презентаций в Python через Java
Introduction
Zoom в PowerPoint позволяют перемещаться к определённым слайдам, разделам и частям презентации и обратно. При демонстрации эта возможность быстрой навигации по материалу может оказаться очень полезной.

- Чтобы суммировать всю презентацию на одном слайде, используйте Summary Zoom.
- Чтобы показать только выбранные слайды, используйте Slide Zoom.
- Чтобы показать только один раздел, используйте Section Zoom.
Slide Zoom
Zoom слайда может сделать вашу презентацию более динамичной, позволяя свободно перемещаться между слайдами в любом порядке без прерывания потока презентации. Zoom слайда отлично подходит для коротких презентаций без большого количества разделов, но их можно использовать и в других сценариях.
Zoom слайда помогает детализировать несколько фрагментов информации, создавая ощущение работы на едином холсте.

Для объектов Zoom слайда Aspose.Slides предоставляет перечисление ZoomImageType, класс ZoomFrame и некоторые методы класса ShapeCollection.
Create Zoom Frames
Вы можете добавить кадр увеличения на слайд следующим образом:
- Создайте экземпляр класса Presentation.
- Создайте новые слайды, к которым планируете привязать кадры увеличения.
- Добавьте идентифицирующий текст и фон к созданным слайдам.
- Добавьте кадры увеличения (ссылка на созданные слайды) на первый слайд.
- Сохраните изменённую презентацию в виде файла PPTX.
Этот код Python показывает, как создать кадр увеличения на слайде:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Presentation, SaveFormat, ShapeType
from java.awt import Color
presentation = Presentation()
try:
# Добавляет новые слайды в презентацию
second_slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
third_slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
# Создаёт фон для второго слайда
second_slide.getBackground().setType(BackgroundType.OwnBackground)
second_slide.getBackground().getFillFormat().setFillType(FillType.Solid)
second_slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan)
# Создаёт текстовое поле для второго слайда
auto_shape = second_slide.getShapes().addAutoShape(ShapeType.Rectangle, 100, 200, 500, 200)
auto_shape.getTextFrame().setText("Second Slide")
# Создаёт фон для третьего слайда
third_slide.getBackground().setType(BackgroundType.OwnBackground)
third_slide.getBackground().getFillFormat().setFillType(FillType.Solid)
third_slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.darkGray)
# Создаёт текстовое поле для третьего слайда
auto_shape = third_slide.getShapes().addAutoShape(ShapeType.Rectangle, 100, 200, 500, 200)
auto_shape.getTextFrame().setText("Third Slide")
# Добавляет объекты ZoomFrame
presentation.getSlides().get_Item(0).getShapes().addZoomFrame(20, 20, 250, 200, second_slide)
presentation.getSlides().get_Item(0).getShapes().addZoomFrame(200, 250, 250, 200, third_slide)
# Сохраняет презентацию
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Create Zoom Frames with Custom Images
С помощью Aspose.Slides for Python via Java вы можете создать кадр увеличения с другим изображением превью слайда следующим образом:
- Создайте экземпляр класса Presentation.
- Создайте новый слайд, к которому планируете привязать кадр увеличения.
- Добавьте идентифицирующий текст и фон к слайду.
- Создайте объект PPImage, добавив изображение в коллекцию изображений, связанную с объектом Presentation, которое будет использовано для заполнения кадра.
- Добавьте кадры увеличения (ссылка на созданный слайд) на первый слайд.
- Сохраните изменённую презентацию в виде файла PPTX.
Этот код Python показывает, как создать кадр увеличения с другим изображением:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Images, Presentation, SaveFormat, ShapeType
from java.awt import Color
presentation = Presentation()
try:
# Добавляет новый слайд в презентацию
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
# Создаёт фон для второго слайда
slide.getBackground().setType(BackgroundType.OwnBackground)
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan)
# Создаёт текстовое поле для второго слайда
auto_shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 100, 200, 500, 200)
auto_shape.getTextFrame().setText("Second Slide")
# Создаёт новое изображение для объекта Zoom
image = Images.fromFile("image.png")
try:
picture = presentation.getImages().addImage(image)
finally:
image.dispose()
# Добавляет объект ZoomFrame
presentation.getSlides().get_Item(0).getShapes().addZoomFrame(20, 20, 300, 200, slide, picture)
# Сохраняет презентацию
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Format Zoom Frames
В предыдущих разделах мы показывали, как создавать простые кадры увеличения. Чтобы создать более сложные кадры, необходимо изменить их форматирование. Существует несколько вариантов форматирования, которые можно применить к кадру увеличения.
Вы можете управлять форматированием кадра увеличения на слайде следующим образом:
- Создайте экземпляр класса Presentation.
- Создайте новые слайды, к которым планируете привязать кадры увеличения.
- Добавьте идентифицирующий текст и фон к созданным слайдам.
- Добавьте кадры увеличения (ссылка на созданные слайды) на первый слайд.
- Создайте объект PPImage и добавьте изображение в коллекцию изображений, связанную с объектом Presentation, которое будет использовано для заполнения кадра.
- Установите пользовательское изображение для первого объекта кадра увеличения.
- Измените формат линии для второго объекта кадра увеличения.
- Удалите фон изображения у второго объекта кадра увеличения.
- Сохраните изменённую презентацию в виде файла PPTX.
Этот код Python показывает, как изменить форматирование кадра увеличения на слайде:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Images, LineDashStyle, Presentation, SaveFormat, ShapeType
from java.awt import Color
presentation = Presentation()
try:
# Adds new slides to the presentation
# Добавляет новые слайды в презентацию
second_slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
third_slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
# Creates a background for the second slide
# Создаёт фон для второго слайда
second_slide.getBackground().setType(BackgroundType.OwnBackground)
second_slide.getBackground().getFillFormat().setFillType(FillType.Solid)
second_slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan)
# Creates a text box for the second slide
# Создаёт текстовое поле для второго слайда
auto_shape = second_slide.getShapes().addAutoShape(ShapeType.Rectangle, 100, 200, 500, 200)
auto_shape.getTextFrame().setText("Second Slide")
# Creates a background for the third slide
# Создаёт фон для третьего слайда
third_slide.getBackground().setType(BackgroundType.OwnBackground)
third_slide.getBackground().getFillFormat().setFillType(FillType.Solid)
third_slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.darkGray)
# Creates a text box for the third slide
# Создаёт текстовое поле для третьего слайда
auto_shape = third_slide.getShapes().addAutoShape(ShapeType.Rectangle, 100, 200, 500, 200)
auto_shape.getTextFrame().setText("Third Slide")
# Adds ZoomFrame objects
# Добавляет объекты ZoomFrame
first_zoom_frame = presentation.getSlides().get_Item(0).getShapes().addZoomFrame(20, 20, 250, 200, second_slide)
second_zoom_frame = presentation.getSlides().get_Item(0).getShapes().addZoomFrame(200, 250, 250, 200, third_slide)
# Creates a new image for the zoom object
# Создаёт новое изображение для объекта zoom
image = Images.fromFile("image.png")
try:
picture = presentation.getImages().addImage(image)
finally:
image.dispose()
# Sets custom image for first_zoom_frame object
# Устанавливает пользовательское изображение для объекта first_zoom_frame
first_zoom_frame.setZoomImage(picture)
# Sets a zoom frame format for the second_zoom_frame object
# Устанавливает формат кадра zoom для объекта second_zoom_frame
second_zoom_frame.getLineFormat().setWidth(5)
second_zoom_frame.getLineFormat().getFillFormat().setFillType(FillType.Solid)
second_zoom_frame.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.pink)
second_zoom_frame.getLineFormat().setDashStyle(LineDashStyle.DashDot)
# Setting for Do not show background for second_zoom_frame object
# Настройка: не показывать фон для объекта second_zoom_frame
second_zoom_frame.setShowBackground(False)
# Saves the presentation
# Сохраняет презентацию
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Section Zoom
Zoom раздела представляет собой ссылку на раздел вашей презентации. Вы можете использовать Zoom раздела, чтобы возвращаться к разделам, которые хотите особо подчеркнуть, или чтобы показать, как различные части вашей презентации связаны между собой.

Для объектов Zoom раздела Aspose.Slides предоставляет класс SectionZoomFrame и некоторые методы класса ShapeCollection.
Create Section Zoom Frames
Вы можете добавить кадр Zoom раздела на слайд следующим образом:
- Создайте экземпляр класса Presentation.
- Создайте новый слайд.
- Добавьте отличительный фон к созданному слайду.
- Создайте новый раздел, к которому планируете привязать кадр увеличения.
- Добавьте кадр Zoom раздела (ссылка на созданный раздел) на первый слайд.
- Сохраните изменённую презентацию в виде файла PPTX.
Этот код Python показывает, как создать кадр увеличения на слайде:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Presentation, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
# Добавляет новый слайд в презентацию
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.yellow)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 1", slide)
# Добавляет объект SectionZoomFrame
section_zoom_frame = presentation.getSlides().get_Item(0).getShapes().addSectionZoomFrame(20, 20, 300, 200, presentation.getSections().get_Item(1))
# Сохраняет презентацию
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Create Section Zoom Frames with Custom Images
С помощью Aspose.Slides for Python via Java вы можете создать кадр Zoom раздела с другим изображением превью слайда следующим образом:
- Создайте экземпляр класса Presentation.
- Создайте новый слайд.
- Добавьте отличительный фон к созданному слайду.
- Создайте новый раздел, к которому планируете привязать кадр увеличения.
- Создайте объект PPImage и добавьте изображение в коллекцию изображений, связанную с объектом Presentation, которое будет использовано для заполнения кадра.
- Добавьте кадр Zoom раздела (ссылка на созданный раздел) на первый слайд.
- Сохраните изменённую презентацию в виде файла PPTX.
Этот код Python показывает, как создать кадр увеличения с другим изображением:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Images, Presentation, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
# Adds new slide to the presentation
# Добавляет новый слайд в презентацию
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.yellow)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Adds a new Section to the presentation
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 1", slide)
# Creates a new image for the zoom object
# Создаёт новое изображение для объекта zoom
image = Images.fromFile("image.png")
try:
picture = presentation.getImages().addImage(image)
finally:
image.dispose()
# Adds SectionZoomFrame object
# Добавляет объект SectionZoomFrame
section_zoom_frame = presentation.getSlides().get_Item(0).getShapes().addSectionZoomFrame(20, 20, 300, 200, presentation.getSections().get_Item(1), picture)
# Saves the presentation
# Сохраняет презентацию
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Format Section Zoom Frames
Чтобы создать более сложные кадры Zoom раздела, необходимо изменить их форматирование. Существует несколько вариантов форматирования, которые можно применить к кадру Zoom раздела.
Вы можете управлять форматированием кадра Zoom раздела на слайде следующим образом:
- Создайте экземпляр класса Presentation.
- Создайте новый слайд.
- Добавьте отличительный фон к созданному слайду.
- Создайте новый раздел, к которому планируете привязать кадр увеличения.
- Добавьте кадр Zoom раздела (ссылка на созданный раздел) на первый слайд.
- Измените размер и положение созданного объекта Zoom раздела.
- Создайте объект PPImage и добавьте изображение в коллекцию изображений, связанную с объектом Presentation, которое будет использовано для заполнения кадра.
- Установите пользовательское изображение для созданного объекта Zoom раздела.
- Включите возможность возврата к оригинальному слайду из связанного раздела.
- Удалите фон изображения у объекта Zoom раздела.
- Измените формат линии для объекта Zoom раздела.
- Измените длительность перехода.
- Сохраните изменённую презентацию в виде файла PPTX.
Этот код Python показывает, как изменить форматирование кадра Zoom раздела:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Images, LineDashStyle, Presentation, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
# Добавляет новый слайд в презентацию
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.yellow)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 1", slide)
# Добавляет объект SectionZoomFrame
section_zoom_frame = presentation.getSlides().get_Item(0).getShapes().addSectionZoomFrame(20, 20, 300, 200, presentation.getSections().get_Item(1))
# Форматирование для SectionZoomFrame
section_zoom_frame.setX(100)
section_zoom_frame.setY(300)
section_zoom_frame.setWidth(100)
section_zoom_frame.setHeight(75)
image = Images.fromFile("image.png")
try:
picture = presentation.getImages().addImage(image)
finally:
image.dispose()
section_zoom_frame.setZoomImage(picture)
section_zoom_frame.setReturnToParent(True)
section_zoom_frame.setShowBackground(False)
section_zoom_frame.getLineFormat().getFillFormat().setFillType(FillType.Solid)
section_zoom_frame.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.gray)
section_zoom_frame.getLineFormat().setDashStyle(LineDashStyle.DashDot)
section_zoom_frame.getLineFormat().setWidth(2.5)
section_zoom_frame.setTransitionDuration(1.5)
# Сохраняет презентацию
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Summary Zoom
Zoom свода представляет собой «главную страницу», где все части вашей презентации отображаются одновременно. При демонстрации вы можете использовать Zoom, чтобы перемещаться от одного места к другому в произвольном порядке, пропускать части или возвращаться к ним без прерывания потока презентации.

Для объектов Zoom свода Aspose.Slides предоставляет классы SummaryZoomFrame, SummaryZoomSection и SummaryZoomSectionCollection, а также некоторые методы класса ShapeCollection.
Create a Summary Zoom
Вы можете добавить кадр Zoom свода на слайд следующим образом:
- Создайте экземпляр класса Presentation.
- Создайте новые слайды с отличительным фоном и новые разделы для этих слайдов.
- Добавьте кадр Summary Zoom на первый слайд.
- Сохраните изменённую презентацию в виде файла PPTX.
Этот код Python показывает, как создать кадр Summary Zoom на слайде:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Presentation, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
# Добавляет новый слайд в презентацию
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.gray)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 1", slide)
# Adds a new slide to the presentation
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 2", slide)
# Adds a new slide to the presentation
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.magenta)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 3", slide)
# Adds a new slide to the presentation
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.green)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 4", slide)
# Adds a SummaryZoomFrame object
summary_zoom_frame = presentation.getSlides().get_Item(0).getShapes().addSummaryZoomFrame(150, 50, 300, 200)
# Saves the presentation
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Add and Remove a Summary Zoom Section
Все разделы в кадре Summary Zoom представлены объектами SummaryZoomSection, которые хранятся в объекте SummaryZoomSectionCollection. Вы можете добавить или удалить объект раздела Summary Zoom через класс SummaryZoomSectionCollection следующим образом:
- Создайте экземпляр класса Presentation.
- Создайте новые слайды с отличительным фоном и новые разделы для этих слайдов.
- Добавьте кадр Summary Zoom в первый слайд.
- Добавьте новый слайд и раздел в презентацию.
- Добавьте созданный раздел в кадр Summary Zoom.
- Удалите первый раздел из кадра Summary Zoom.
- Сохраните изменённую презентацию в виде файла PPTX.
Этот код Python показывает, как добавить и удалить разделы в кадре Summary Zoom:
import jpype
import asposeslides
if not jpase.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Presentation, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
# Добавляет новый слайд в презентацию
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.gray)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 1", slide)
# Adds a new slide to the presentation
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 2", slide)
# Добавляет объект SummaryZoomFrame
summary_zoom_frame = presentation.getSlides().get_Item(0).getShapes().addSummaryZoomFrame(150, 50, 300, 200)
# Adds a new slide to the presentation
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.magenta)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
third_section = presentation.getSections().addSection("Section 3", slide)
# Добавляет раздел в Summary Zoom
summary_zoom_frame.getSummaryZoomCollection().addSummaryZoomSection(third_section)
# Удаляет раздел из Summary Zoom
summary_zoom_frame.getSummaryZoomCollection().removeSummaryZoomSection(presentation.getSections().get_Item(1))
# Сохраняет презентацию
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
Format Summary Zoom Sections
Чтобы создать более сложные объекты разделов Summary Zoom, необходимо изменить их форматирование. Существует несколько вариантов форматирования, которые можно применить к объекту раздела Summary Zoom.
Вы можете управлять форматированием объекта раздела Summary Zoom в кадре Summary Zoom следующим образом:
- Создайте экземпляр класса Presentation.
- Создайте новые слайды с отличительным фоном и новые разделы для этих слайдов.
- Добавьте кадр Summary Zoom на первый слайд.
- Получите первый объект Summary Zoom Section из SummaryZoomSectionCollection.
- Создайте объект PPImage и добавьте изображение в коллекцию изображений, связанную с объектом Presentation, которое будет использовано для заполнения кадра.
- Установите пользовательское изображение для объекта раздела Summary Zoom.
- Включите возможность возврата к оригинальному слайду из связанного раздела.
- Измените формат линии для объекта раздела Summary Zoom.
- Измените длительность перехода.
- Сохраните изменённую презентацию в виде файла PPTX.
Этот код Python показывает, как изменить форматирование объекта раздела Summary Zoom:
import jpype
import asposeslides
if not jpype.isJVMStarted():
jpype.startJVM()
from asposeslides.api import BackgroundType, FillType, Images, LineDashStyle, Presentation, SaveFormat
from java.awt import Color
presentation = Presentation()
try:
# Добавляет новый слайд в презентацию
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.gray)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 1", slide)
# Adds a new slide to the presentation
slide = presentation.getSlides().addEmptySlide(presentation.getSlides().get_Item(0).getLayoutSlide())
slide.getBackground().getFillFormat().setFillType(FillType.Solid)
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan)
slide.getBackground().setType(BackgroundType.OwnBackground)
# Добавляет новый раздел в презентацию
presentation.getSections().addSection("Section 2", slide)
# Добавляет объект SummaryZoomFrame
summary_zoom_frame = presentation.getSlides().get_Item(0).getShapes().addSummaryZoomFrame(150, 50, 300, 200)
# Получает первый объект SummaryZoomSection
summary_section = summary_zoom_frame.getSummaryZoomCollection().get_Item(0)
# Форматирование объекта SummaryZoomSection
image = Images.fromFile("image.png")
try:
picture = presentation.getImages().addImage(image)
finally:
image.dispose()
summary_section.setZoomImage(picture)
summary_section.setReturnToParent(False)
summary_section.getLineFormat().getFillFormat().setFillType(FillType.Solid)
summary_section.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.black)
summary_section.getLineFormat().setDashStyle(LineDashStyle.DashDot)
summary_section.getLineFormat().setWidth(1.5)
summary_section.setTransitionDuration(1.5)
# Сохраняет презентацию
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
FAQ
Can I control returning to the ‘parent’ slide after showing the target?
Yes. The ZoomFrame or SectionZoomFrame supports returning to the originating slide through setReturnToParent, which sends viewers back after they visit the target content when enabled.
Can I adjust the ‘speed’ or duration of the Zoom transition?
Yes. Zoom supports setting a transition duration with setTransitionDuration so you can control how long the jump animation takes.
Are there limits on how many Zoom objects a presentation can contain?
There is no hard API limit documented. Practical limits depend on overall presentation complexity and the viewer’s performance. You can add many Zoom frames, but consider file size and rendering time.