Python via Java로 프레젠테이션 줌 관리
소개
PowerPoint의 줌 기능을 사용하면 프레젠테이션의 특정 슬라이드, 섹션 및 부분으로 이동하거나 돌아올 수 있습니다. 발표 중에 콘텐츠를 빠르게 탐색하는 이 기능은 매우 유용할 수 있습니다.

슬라이드 줌
슬라이드 줌은 프레젠테이션을 보다 역동적으로 만들 수 있으며, 발표 흐름을 방해하지 않고 원하는 순서대로 슬라이드 사이를 자유롭게 탐색할 수 있게 합니다. 슬라이드 줌은 섹션이 많지 않은 짧은 프레젠테이션에 적합하지만, 다양한 시나리오에서도 활용할 수 있습니다.
슬라이드 줌을 사용하면 마치 하나의 캔버스에 있는 것처럼 여러 정보를 자세히 살펴볼 수 있습니다.

슬라이드 줌 개체에 대해 Aspose.Slides는 ZoomImageType 열거형, ZoomFrame 클래스 및 ShapeCollection 클래스의 일부 메서드를 제공합니다.
줌 프레임 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 줌 프레임을 연결할 새 슬라이드를 생성합니다.
- 생성된 슬라이드에 식별 텍스트와 배경을 추가합니다.
- 첫 번째 슬라이드에 (생성된 슬라이드에 대한 참조를 포함하는) 줌 프레임을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
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()
사용자 지정 이미지로 줌 프레임 만들기
Aspose.Slides for Python via Java를 사용하면 다음과 같이 다른 슬라이드 미리보기 이미지가 있는 줌 프레임을 만들 수 있습니다.
- Presentation 클래스의 인스턴스를 생성합니다.
- 줌 프레임을 연결할 새 슬라이드를 생성합니다.
- 슬라이드에 식별 텍스트와 배경을 추가합니다.
- 프레임을 채우는 데 사용할 이미지를 Presentation 객체와 연결된 이미지 컬렉션에 추가하여 PPImage 객체를 생성합니다.
- 첫 번째 슬라이드에 (생성된 슬라이드에 대한 참조를 포함하는) 줌 프레임을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
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")
# 줌 개체를 위한 새 이미지 생성
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()
줌 프레임 서식 지정
앞섹션에서는 간단한 줌 프레임을 만드는 방법을 보여 주었습니다. 보다 복잡한 줌 프레임을 만들려면 단순 프레임의 서식을 변경해야 합니다. 줌 프레임에 적용할 수 있는 서식 옵션이 여러 가지 있습니다.
슬라이드에서 줌 프레임의 서식을 다음과 같이 제어할 수 있습니다.
- Presentation 클래스의 인스턴스를 생성합니다.
- 줌 프레임을 연결할 새 슬라이드를 생성합니다.
- 생성된 슬라이드에 식별 텍스트와 배경을 추가합니다.
- 첫 번째 슬라이드에 (생성된 슬라이드에 대한 참조를 포함하는) 줌 프레임을 추가합니다.
- 프레임을 채우는 데 사용할 이미지를 Presentation 객체와 연결된 이미지 컬렉션에 추가하여 PPImage 객체를 생성합니다.
- 첫 번째 줌 프레임 객체에 사용자 지정 이미지를 설정합니다.
- 두 번째 줌 프레임 객체의 선 서식을 변경합니다.
- 두 번째 줌 프레임 객체 이미지의 배경을 제거합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
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:
# 프레젠테이션에 새 슬라이드 추가
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 객체 추가
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)
# 줌 개체를 위한 새 이미지 생성
image = Images.fromFile("image.png")
try:
picture = presentation.getImages().addImage(image)
finally:
image.dispose()
# first_zoom_frame 객체에 사용자 지정 이미지 설정
first_zoom_frame.setZoomImage(picture)
# 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)
# second_zoom_frame 객체에 배경 표시 안 함 설정
second_zoom_frame.setShowBackground(False)
# 프레젠테이션 저장
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
섹션 줌
섹션 줌은 프레젠테이션의 특정 섹션에 대한 링크입니다. 강조하고 싶은 섹션으로 돌아가거나 프레젠테이션의 여러 부분이 어떻게 연결되는지 강조할 때 섹션 줌을 사용할 수 있습니다.

섹션 줌 개체에 대해 Aspose.Slides는 SectionZoomFrame 클래스와 ShapeCollection 클래스의 일부 메서드를 제공합니다.
섹션 줌 프레임 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 새 슬라이드를 생성합니다.
- 생성된 슬라이드에 구별되는 배경을 추가합니다.
- 줌 프레임을 연결할 새 섹션을 생성합니다.
- 첫 번째 슬라이드에 (생성된 섹션에 대한 참조를 포함하는) 섹션 줌 프레임을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
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()
사용자 지정 이미지로 섹션 줌 프레임 만들기
Aspose.Slides for Python via Java를 사용하면 다음과 같이 다른 슬라이드 미리보기 이미지가 있는 섹션 줌 프레임을 만들 수 있습니다.
- Presentation 클래스의 인스턴스를 생성합니다.
- 새 슬라이드를 생성합니다.
- 생성된 슬라이드에 구별되는 배경을 추가합니다.
- 줌 프레임을 연결할 새 섹션을 생성합니다.
- 프레임을 채우는 데 사용할 이미지를 Presentation 객체와 연결된 이미지 컬렉션에 추가하여 PPImage 객체를 생성합니다.
- 첫 번째 슬라이드에 (생성된 섹션에 대한 참조를 포함하는) 섹션 줌 프레임을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
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:
# 프레젠테이션에 새 슬라이드 추가
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)
# 줌 개체를 위한 새 이미지 생성
image = Images.fromFile("image.png")
try:
picture = presentation.getImages().addImage(image)
finally:
image.dispose()
# SectionZoomFrame 객체 추가
section_zoom_frame = presentation.getSlides().get_Item(0).getShapes().addSectionZoomFrame(20, 20, 300, 200, presentation.getSections().get_Item(1), picture)
# 프레젠테이션 저장
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
섹션 줌 프레임 서식 지정
보다 복잡한 섹션 줌 프레임을 만들려면 단순 프레임의 서식을 변경해야 합니다. 섹션 줌 프레임에 적용할 수 있는 서식 옵션이 여러 가지 있습니다.
슬라이드에서 섹션 줌 프레임의 서식을 다음과 같이 제어할 수 있습니다.
- Presentation 클래스의 인스턴스를 생성합니다.
- 새 슬라이드를 생성합니다.
- 생성된 슬라이드에 구별되는 배경을 추가합니다.
- 줌 프레임을 연결할 새 섹션을 생성합니다.
- 첫 번째 슬라이드에 (생성된 섹션에 대한 참조를 포함하는) 섹션 줌 프레임을 추가합니다.
- 생성된 섹션 줌 개체의 크기와 위치를 변경합니다.
- 프레임을 채우는 데 사용할 이미지를 Presentation 객체와 연결된 이미지 컬렉션에 추가하여 PPImage 객체를 생성합니다.
- 생성된 섹션 줌 프레임 개체에 사용자 지정 이미지를 설정합니다.
- 링크된 섹션에서 원본 슬라이드로 돌아가기 기능을 설정합니다.
- 섹션 줌 프레임 개체 이미지의 배경을 제거합니다.
- 섹션 줌 프레임 개체의 선 서식을 변경합니다.
- 전환 지속 시간을 변경합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
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()
요약 줌
요약 줌은 프레젠테이션의 모든 요소가 한 번에 표시되는 랜딩 페이지와 같습니다. 발표 중에 줌을 사용하면 원하는 순서대로 프레젠테이션의 어느 위치든 이동할 수 있습니다. 창의적으로 전환하거나, 앞뒤로 건너뛰거나, 슬라이드 쇼의 특정 부분을 다시 방문하면서도 흐름을 끊지 않을 수 있습니다.

요약 줌 개체에 대해 Aspose.Slides는 SummaryZoomFrame, SummaryZoomSection, SummaryZoomSectionCollection 클래스와 ShapeCollection 클래스의 일부 메서드를 제공합니다.
요약 줌 만들기
- Presentation 클래스의 인스턴스를 생성합니다.
- 구별되는 배경과 새 섹션이 있는 새 슬라이드를 생성합니다.
- 첫 번째 슬라이드에 요약 줌 프레임을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
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)
# 프레젠테이션에 새 슬라이드 추가
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)
# 프레젠테이션에 새 슬라이드 추가
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)
# 프레젠테이션에 새 슬라이드 추가
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)
# SummaryZoomFrame 객체 추가
summary_zoom_frame = presentation.getSlides().get_Item(0).getShapes().addSummaryZoomFrame(150, 50, 300, 200)
# 프레젠테이션 저장
presentation.save("presentation.pptx", SaveFormat.Pptx)
finally:
presentation.dispose()
요약 줌 섹션 추가 및 제거
요약 줌 프레임의 모든 섹션은 SummaryZoomSection 객체로 표현되며, 이는 SummaryZoomSectionCollection 객체에 저장됩니다. 다음과 같이 SummaryZoomSectionCollection 클래스를 통해 요약 줌 섹션 객체를 추가하거나 제거할 수 있습니다.
- Presentation 클래스의 인스턴스를 생성합니다.
- 구별되는 배경과 새 섹션이 있는 새 슬라이드를 생성합니다.
- 첫 번째 슬라이드에 요약 줌 프레임을 추가합니다.
- 프레젠테이션에 새 슬라이드와 섹션을 추가합니다.
- 생성된 섹션을 요약 줌 프레임에 추가합니다.
- 요약 줌 프레임에서 첫 번째 섹션을 제거합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
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)
# 프레젠테이션에 새 슬라이드 추가
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)
# 프레젠테이션에 새 슬라이드 추가
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()
요약 줌 섹션 서식 지정
보다 복잡한 요약 줌 섹션 객체를 만들려면 단순 프레임의 서식을 변경해야 합니다. 요약 줌 섹션 객체에 적용할 수 있는 서식 옵션이 여러 가지 있습니다.
요약 줌 프레임에서 요약 줌 섹션 객체의 서식을 다음과 같이 제어할 수 있습니다.
- Presentation 클래스의 인스턴스를 생성합니다.
- 구별되는 배경과 새 섹션이 있는 새 슬라이드를 생성합니다.
- 첫 번째 슬라이드에 요약 줌 프레임을 추가합니다.
- SummaryZoomSectionCollection에서 첫 번째 요약 줌 섹션 객체를 가져옵니다.
- 프레임을 채우는 데 사용할 이미지를 Presentation 객체와 연결된 이미지 컬렉션에 추가하여 PPImage 객체를 생성합니다.
- 요약 줌 섹션 객체에 사용자 지정 이미지를 설정합니다.
- 링크된 섹션에서 원본 슬라이드로 돌아가기 기능을 설정합니다.
- 요약 줌 섹션 객체의 선 서식을 변경합니다.
- 전환 지속 시간을 변경합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
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)
# 프레젠테이션에 새 슬라이드 추가
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
대상 표시 후 ‘상위’ 슬라이드로 돌아가는 것을 제어할 수 있나요?
예. ZoomFrame 또는 SectionZoomFrame은 setReturnToParent를 통해 원본 슬라이드로 되돌아가는 기능을 지원합니다.
Zoom 전환의 ‘속도’ 또는 지속 시간을 조정할 수 있나요?
예. Zoom은 setTransitionDuration를 사용하여 전환 지속 시간을 설정할 수 있으므로 애니메이션 시간을 제어할 수 있습니다.
프레젠테이션에 포함될 수 있는 Zoom 객체 수에 제한이 있나요?
문서화된 하드 API 제한은 없습니다. 실제 제한은 전체 프레젠테이션의 복잡도와 뷰어 성능에 따라 달라집니다. 많은 Zoom 프레임을 추가할 수 있지만 파일 크기와 렌더링 시간을 고려해야 합니다.