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

- 전체 프레젠테이션을 한 슬라이드에 요약하려면 Summary Zoom을 사용하십시오.
- 선택한 슬라이드만 표시하려면 Slide Zoom을 사용하십시오.
- 하나의 섹션만 표시하려면 Section Zoom을 사용하십시오.
슬라이드 확대/축소
슬라이드 확대/축소를 사용하면 프레젠테이션을 보다 역동적으로 만들 수 있으며, 흐름을 방해하지 않으면서 원하는 순서대로 슬라이드 간을 자유롭게 이동할 수 있습니다. 슬라이드 확대/축소는 섹션이 많지 않은 짧은 프레젠테이션에 적합하지만, 다양한 프레젠테이션 시나리오에서도 사용할 수 있습니다.
슬라이드 확대/축소를 사용하면 단일 캔버스에 있는 것처럼 여러 정보 조각을 자세히 탐색할 수 있습니다.

슬라이드 확대/축소 개체에 대해 Aspose.Slides는 ZoomImageType 열거형, IZoomFrame 인터페이스 및 IShapeCollection 인터페이스 아래의 몇 가지 메서드를 제공합니다.
확대/축소 프레임 만들기
다음과 같이 슬라이드에 확대/축소 프레임을 추가할 수 있습니다:
- Presentation 클래스의 인스턴스를 생성합니다.
- 확대/축소 프레임을 연결하려는 새 슬라이드를 생성합니다.
- 생성된 슬라이드에 식별 텍스트와 배경을 추가합니다.
- 첫 번째 슬라이드에 확대/축소 프레임(생성된 슬라이드에 대한 참조 포함)을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
다음 Java 코드가 슬라이드에 확대/축소 프레임을 만드는 방법을 보여줍니다:
Presentation pres = new Presentation();
try {
//프레젠테이션에 새 슬라이드 추가
ISlide slide2 = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
ISlide slide3 = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
//두 번째 슬라이드의 배경을 생성합니다
slide2.getBackground().setType(BackgroundType.OwnBackground);
slide2.getBackground().getFillFormat().setFillType(FillType.Solid);
slide2.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan);
//두 번째 슬라이드에 텍스트 상자를 생성합니다
IAutoShape autoshape = slide2.getShapes().addAutoShape(ShapeType.Rectangle, 100, 200, 500, 200);
autoshape.getTextFrame().setText("Second Slide");
//세 번째 슬라이드의 배경을 생성합니다
slide3.getBackground().setType(BackgroundType.OwnBackground);
slide3.getBackground().getFillFormat().setFillType(FillType.Solid);
slide3.getBackground().getFillFormat().getSolidFillColor().setColor(Color.darkGray);
//세 번째 슬라이드에 텍스트 상자를 생성합니다
autoshape = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 200, 500, 200);
autoshape.getTextFrame().setText("Trird Slide");
//ZoomFrame 객체를 추가합니다
pres.getSlides().get_Item(0).getShapes().addZoomFrame(20, 20, 250, 200, slide2);
pres.getSlides().get_Item(0).getShapes().addZoomFrame(200, 250, 250, 200, slide3);
//프레젠테이션을 저장합니다
pres.save("presentation.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
맞춤 이미지가 있는 확대/축소 프레임 만들기
Aspose.Slides for Java를 사용하면 다음과 같이 다른 슬라이드 미리보기 이미지를 사용한 확대/축소 프레임을 만들 수 있습니다:
- Presentation 클래스의 인스턴스를 생성합니다.
- 확대/축소 프레임을 연결하려는 새 슬라이드를 생성합니다.
- 슬라이드에 식별 텍스트와 배경을 추가합니다.
- Presentation 객체와 연결된 Images 컬렉션에 이미지를 추가하여 IPPImage 객체를 만들고, 이를 프레임을 채우는 데 사용합니다.
- 첫 번째 슬라이드에 확대/축소 프레임(생성된 슬라이드에 대한 참조 포함)을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
다음 Java 코드가 다른 이미지를 사용한 확대/축소 프레임을 만드는 방법을 보여줍니다:
Presentation pres = new Presentation();
try {
//프레젠테이션에 새 슬라이드 추가
ISlide slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
// 두 번째 슬라이드의 배경을 생성합니다
slide.getBackground().setType(BackgroundType.OwnBackground);
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan);
// 세 번째 슬라이드에 텍스트 상자를 생성합니다
IAutoShape autoshape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 100, 200, 500, 200);
autoshape.getTextFrame().setText("Second Slide");
// 줌 객체를 위한 새로운 이미지를 생성합니다
IPPImage picture;
IImage image = Images.fromFile("image.png");
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
//ZoomFrame 객체를 추가합니다
pres.getSlides().get_Item(0).getShapes().addZoomFrame(20, 20, 300, 200, slide, picture);
// 프레젠테이션을 저장합니다
pres.save("presentation.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (pres != null) pres.dispose();
}
확대/축소 프레임 서식 지정
이전 섹션에서는 간단한 확대/축소 프레임을 만드는 방법을 보여주었습니다. 보다 복잡한 확대/축소 프레임을 만들려면 단순 프레임의 서식을 변경해야 합니다. 확대/축소 프레임에 적용할 수 있는 서식 옵션이 여러 가지 있습니다.
다음과 같이 슬라이드에서 확대/축소 프레임의 서식을 제어할 수 있습니다:
- Presentation 클래스의 인스턴스를 생성합니다.
- 확대/축소 프레임을 연결하려는 새 슬라이드를 생성합니다.
- 생성된 슬라이드에 식별 텍스트와 배경을 추가합니다.
- 첫 번째 슬라이드에 확대/축소 프레임(생성된 슬라이드에 대한 참조 포함)을 추가합니다.
- Presentation 객체와 연결된 Images 컬렉션에 이미지를 추가하여 IPPImage 객체를 만들고, 이를 프레임을 채우는 데 사용합니다.
- 첫 번째 확대/축소 프레임 객체에 맞춤 이미지를 설정합니다.
- 두 번째 확대/축소 프레임 객체의 선 서식을 변경합니다.
- 두 번째 확대/축소 프레임 객체 이미지의 배경을 제거합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
다음 Java 코드가 슬라이드에서 확대/축소 프레임의 서식을 변경하는 방법을 보여줍니다:
Presentation pres = new Presentation();
try {
//프레젠테이션에 새 슬라이드 추가
ISlide slide2 = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
ISlide slide3 = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
//두 번째 슬라이드의 배경을 생성합니다
slide2.getBackground().setType(BackgroundType.OwnBackground);
slide2.getBackground().getFillFormat().setFillType(FillType.Solid);
slide2.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan);
//두 번째 슬라이드에 텍스트 상자를 생성합니다
IAutoShape autoshape = slide2.getShapes().addAutoShape(ShapeType.Rectangle, 100, 200, 500, 200);
autoshape.getTextFrame().setText("Second Slide");
//세 번째 슬라이드의 배경을 생성합니다
slide3.getBackground().setType(BackgroundType.OwnBackground);
slide3.getBackground().getFillFormat().setFillType(FillType.Solid);
slide3.getBackground().getFillFormat().getSolidFillColor().setColor(Color.darkGray);
//세 번째 슬라이드에 텍스트 상자를 생성합니다
autoshape = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 200, 500, 200);
autoshape.getTextFrame().setText("Trird Slide");
//ZoomFrame 객체를 추가합니다
IZoomFrame zoomFrame1 = pres.getSlides().get_Item(0).getShapes().addZoomFrame(20, 20, 250, 200, slide2);
IZoomFrame zoomFrame2 = pres.getSlides().get_Item(0).getShapes().addZoomFrame(200, 250, 250, 200, slide3);
//줌 객체를 위한 새로운 이미지를 생성합니다
IPPImage picture;
IImage image = Images.fromFile("image.png");
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
//zoomFrame1 객체에 맞춤 이미지를 설정합니다
zoomFrame1.setImage(picture);
//zoomFrame2 객체에 줌 프레임 서식을 설정합니다
zoomFrame2.getLineFormat().setWidth(5);
zoomFrame2.getLineFormat().getFillFormat().setFillType(FillType.Solid);
zoomFrame2.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.pink);
zoomFrame2.getLineFormat().setDashStyle(LineDashStyle.DashDot);
//zoomFrame2 객체에 배경을 표시하지 않도록 설정합니다
zoomFrame2.setShowBackground(false);
//프레젠테이션을 저장합니다
pres.save("presentation.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (pres != null) pres.dispose();
}
섹션 확대/축소
섹션 확대/축소는 프레젠테이션 내 섹션에 대한 링크입니다. 섹션 확대/축소를 사용하면 강조하고 싶은 섹션으로 다시 이동하거나, 프레젠테이션의 특정 부분이 어떻게 연결되는지 강조할 수 있습니다.

섹션 확대/축소 개체에 대해 Aspose.Slides는 ISectionZoomFrame 인터페이스와 IShapeCollection 인터페이스 아래의 몇 가지 메서드를 제공합니다.
섹션 확대/축소 프레임 만들기
다음과 같이 슬라이드에 섹션 확대/축소 프레임을 추가할 수 있습니다:
- Presentation 클래스의 인스턴스를 생성합니다.
- 새 슬라이드를 하나 생성합니다.
- 생성된 슬라이드에 식별용 배경을 추가합니다.
- 확대/축소 프레임을 연결하려는 새 섹션을 생성합니다.
- 첫 번째 슬라이드에 섹션 확대/축소 프레임(생성된 섹션에 대한 참조 포함)을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
다음 Java 코드가 슬라이드에 섹션 확대/축소 프레임을 만드는 방법을 보여줍니다:
Presentation pres = new Presentation();
try {
//프레젠테이션에 새 슬라이드 추가
ISlide slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.yellow);
slide.getBackground().setType(BackgroundType.OwnBackground);
//프레젠테이션에 새 섹션 추가
pres.getSections().addSection("Section 1", slide);
//SectionZoomFrame 객체 추가
ISectionZoomFrame sectionZoomFrame = pres.getSlides().get_Item(0).getShapes().addSectionZoomFrame(20, 20, 300, 200, pres.getSections().get_Item(1));
//프레젠테이션 저장
pres.save("presentation.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
맞춤 이미지가 있는 섹션 확대/축소 프레임 만들기
Aspose.Slides for Java를 사용하면 다음과 같이 다른 슬라이드 미리보기 이미지를 사용한 섹션 확대/축소 프레임을 만들 수 있습니다:
- Presentation 클래스의 인스턴스를 생성합니다.
- 새 슬라이드를 하나 생성합니다.
- 생성된 슬라이드에 식별용 배경을 추가합니다.
- 확대/축소 프레임을 연결하려는 새 섹션을 생성합니다.
- Presentation 객체와 연결된 Images 컬렉션에 이미지를 추가하여 IPPImage 객체를 만들고, 이를 프레임을 채우는 데 사용합니다.
- 첫 번째 슬라이드에 섹션 확대/축소 프레임(생성된 섹션에 대한 참조 포함)을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
다음 Java 코드가 다른 이미지를 사용한 섹션 확대/축소 프레임을 만드는 방법을 보여줍니다:
Presentation pres = new Presentation();
try {
//프레젠테이션에 새 슬라이드 추가
ISlide slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.yellow);
slide.getBackground().setType(BackgroundType.OwnBackground);
// 프레젠테이션에 새 섹션 추가
pres.getSections().addSection("Section 1", slide);
// 줌 객체를 위한 새로운 이미지를 생성합니다
IPPImage picture;
IImage image = Images.fromFile("image.png");
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
// SectionZoomFrame 객체 추가
ISectionZoomFrame sectionZoomFrame = pres.getSlides().get_Item(0).getShapes().addSectionZoomFrame(20, 20, 300, 200, pres.getSections().get_Item(1), picture);
// 프레젠테이션 저장
pres.save("presentation.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (pres != null) pres.dispose();
}
섹션 확대/축소 프레임 서식 지정
보다 복잡한 섹션 확대/축소 프레임을 만들려면 단순 프레임의 서식을 변경해야 합니다. 섹션 확대/축소 프레임에 적용할 수 있는 서식 옵션이 여러 가지 있습니다.
다음과 같이 슬라이드에서 섹션 확대/축소 프레임의 서식을 제어할 수 있습니다:
- Presentation 클래스의 인스턴스를 생성합니다.
- 새 슬라이드를 하나 생성합니다.
- 생성된 슬라이드에 식별용 배경을 추가합니다.
- 확대/축소 프레임을 연결하려는 새 섹션을 생성합니다.
- 첫 번째 슬라이드에 섹션 확대/축소 프레임(생성된 섹션에 대한 참조 포함)을 추가합니다.
- 생성된 섹션 확대/축소 개체의 크기와 위치를 변경합니다.
- Presentation 객체와 연결된 Images 컬렉션에 이미지를 추가하여 IPPImage 객체를 만들고, 이를 프레임을 채우는 데 사용합니다.
- 생성된 섹션 확대/축소 프레임 개체에 맞춤 이미지를 설정합니다.
- 링크된 섹션에서 원본 슬라이드로 돌아가기 기능을 설정합니다.
- 섹션 확대/축소 프레임 개체 이미지의 배경을 제거합니다.
- 두 번째 확대/축소 프레임 개체의 선 서식을 변경합니다.
- 전환 지속 시간을 변경합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
다음 Java 코드가 섹션 확대/축소 프레임의 서식을 변경하는 방법을 보여줍니다:
Presentation pres = new Presentation();
try {
//새 슬라이드 추가
ISlide slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.yellow);
slide.getBackground().setType(BackgroundType.OwnBackground);
// 새 섹션을 프레젠테이션에 추가
pres.getSections().addSection("Section 1", slide);
//SectionZoomFrame 객체 추가
ISectionZoomFrame sectionZoomFrame = pres.getSlides().get_Item(0).getShapes().addSectionZoomFrame(20, 20, 300, 200, pres.getSections().get_Item(1));
//SectionZoomFrame 형식 지정
sectionZoomFrame.setX(100);
sectionZoomFrame.setY(300);
sectionZoomFrame.setWidth(100);
sectionZoomFrame.setHeight(75);
IPPImage picture;
IImage image = Images.fromFile("image.png");
try {
picture = pres.getImages().addImage(image);
} finally {
if (image != null) image.dispose();
}
sectionZoomFrame.setImage(picture);
sectionZoomFrame.setReturnToParent(true);
sectionZoomFrame.setShowBackground(false);
sectionZoomFrame.getLineFormat().getFillFormat().setFillType(FillType.Solid);
sectionZoomFrame.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.gray);
sectionZoomFrame.getLineFormat().setDashStyle(LineDashStyle.DashDot);
sectionZoomFrame.getLineFormat().setWidth(2.5f);
sectionZoomFrame.setTransitionDuration(1.5f);
//프레젠테이션 저장
pres.save("presentation.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (pres != null) pres.dispose();
}
요약 확대/축소
요약 확대/축소는 프레젠테이션의 모든 조각이 한 번에 표시되는 랜딩 페이지와 같습니다. 발표 중에 원하는 순서대로 프레젠테이션의 한 부분에서 다른 부분으로 이동하려면 확대/축소를 사용할 수 있습니다. 창의적으로 구성하거나, 앞부분을 건너뛰거나, 슬라이드 쇼의 일부를 다시 방문해도 발표 흐름을 방해하지 않습니다.

요약 확대/축소 개체에 대해 Aspose.Slides는 ISummaryZoomFrame, ISummaryZoomSection, ISummaryZoomSectionCollection 인터페이스와 IShapeCollection 인터페이스 아래의 몇 가지 메서드를 제공합니다.
요약 확대/축소 만들기
다음과 같이 슬라이드에 요약 확대/축소 프레임을 추가할 수 있습니다:
- Presentation 클래스의 인스턴스를 생성합니다.
- 식별용 배경과 새 섹션이 포함된 새 슬라이드를 여러 개 생성합니다.
- 첫 번째 슬라이드에 요약 확대/축소 프레임을 추가합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
다음 Java 코드가 슬라이드에 요약 확대/축소 프레임을 만드는 방법을 보여줍니다:
Presentation pres = new Presentation();
try {
//프레젠테이션에 새 슬라이드 추가
ISlide slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.gray);
slide.getBackground().setType(BackgroundType.OwnBackground);
//프레젠테이션에 새 섹션 추가
pres.getSections().addSection("Section 1", slide);
//프레젠테이션에 새 슬라이드 추가
slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan);
slide.getBackground().setType(BackgroundType.OwnBackground);
//프레젠테이션에 새 섹션 추가
pres.getSections().addSection("Section 2", slide);
//프레젠테이션에 새 슬라이드 추가
slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.magenta);
slide.getBackground().setType(BackgroundType.OwnBackground);
//프레젠테이션에 새 섹션 추가
pres.getSections().addSection("Section 3", slide);
//프레젠테이션에 새 슬라이드 추가
slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.green);
slide.getBackground().setType(BackgroundType.OwnBackground);
//프레젠테이션에 새 섹션 추가
pres.getSections().addSection("Section 4", slide);
//SummaryZoomFrame 객체 추가
ISummaryZoomFrame summaryZoomFrame = pres.getSlides().get_Item(0).getShapes().addSummaryZoomFrame(150, 50, 300, 200);
//프레젠테이션 저장
pres.save("presentation.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
요약 확대/축소 섹션 추가 및 제거
요약 확대/축소 프레임의 모든 섹션은 ISummaryZoomSection 객체로 표현되며, 이는 ISummaryZoomSectionCollection 객체에 저장됩니다. 다음과 같이 ISummaryZoomSectionCollection 인터페이스를 사용해 요약 확대/축소 섹션 객체를 추가하거나 제거할 수 있습니다:
- Presentation 클래스의 인스턴스를 생성합니다.
- 식별용 배경과 새 섹션이 포함된 새 슬라이드를 여러 개 생성합니다.
- 첫 번째 슬라이드에 요약 확대/축소 프레임을 추가합니다.
- 프레젠테이션에 새 슬라이드와 섹션을 추가합니다.
- 생성된 섹션을 요약 확대/축소 프레임에 추가합니다.
- 요약 확대/축소 프레임에서 첫 번째 섹션을 제거합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
다음 Java 코드가 요약 확대/축소 프레임에서 섹션을 추가하고 제거하는 방법을 보여줍니다:
Presentation pres = new Presentation();
try {
//프레젠테이션에 새 슬라이드 추가
ISlide slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.gray);
slide.getBackground().setType(BackgroundType.OwnBackground);
//프레젠테이션에 새 섹션 추가
pres.getSections().addSection("Section 1", slide);
//프레젠테이션에 새 슬라이드 추가
slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan);
slide.getBackground().setType(BackgroundType.OwnBackground);
//프레젠테이션에 새 섹션 추가
pres.getSections().addSection("Section 2", slide);
//SummaryZoomFrame 객체 추가
ISummaryZoomFrame summaryZoomFrame = pres.getSlides().get_Item(0).getShapes().addSummaryZoomFrame(150, 50, 300, 200);
//프레젠테이션에 새 슬라이드 추가
slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.magenta);
slide.getBackground().setType(BackgroundType.OwnBackground);
//프레젠테이션에 새 섹션 추가
ISection section3 = pres.getSections().addSection("Section 3", slide);
//Summary Zoom에 섹션 추가
summaryZoomFrame.getSummaryZoomCollection().addSummaryZoomSection(section3);
//Summary Zoom에서 섹션 제거
summaryZoomFrame.getSummaryZoomCollection().removeSummaryZoomSection(pres.getSections().get_Item(1));
//프레젠테이션 저장
pres.save("presentation.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
요약 확대/축소 섹션 서식 지정
보다 복잡한 요약 확대/축소 섹션 객체를 만들려면 단순 프레임의 서식을 변경해야 합니다. 요약 확대/축소 섹션 객체에 적용할 수 있는 서식 옵션이 여러 가지 있습니다.
다음과 같이 요약 확대/축소 프레임 내 섹션 객체의 서식을 제어할 수 있습니다:
- Presentation 클래스의 인스턴스를 생성합니다.
- 식별용 배경과 새 섹션이 포함된 새 슬라이드를 여러 개 생성합니다.
- 첫 번째 슬라이드에 요약 확대/축소 프레임을 추가합니다.
ISummaryZoomSectionCollection에서 첫 번째 객체에 대한 요약 확대/축소 섹션 객체를 가져옵니다.- Presentation 객체와 연결된 images 컬렉션에 이미지를 추가하여 IPPImage 객체를 만들고, 이를 프레임을 채우는 데 사용합니다.
- 생성된 섹션 확대/축소 프레임 객체에 맞춤 이미지를 설정합니다.
- 링크된 섹션에서 원본 슬라이드로 돌아가기 기능을 설정합니다.
- 두 번째 확대/축소 프레임 객체의 선 서식을 변경합니다.
- 전환 지속 시간을 변경합니다.
- 수정된 프레젠테이션을 PPTX 파일로 저장합니다.
다음 Java 코드가 요약 확대/축소 섹션 객체의 서식을 변경하는 방법을 보여줍니다:
Presentation pres = new Presentation();
try {
//프레젠테이션에 새 슬라이드 추가
ISlide slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.gray);
slide.getBackground().setType(BackgroundType.OwnBackground);
//프레젠테이션에 새 섹션 추가
pres.getSections().addSection("Section 1", slide);
//프레젠테이션에 새 슬라이드 추가
slide = pres.getSlides().addEmptySlide(pres.getSlides().get_Item(0).getLayoutSlide());
slide.getBackground().getFillFormat().setFillType(FillType.Solid);
slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.cyan);
slide.getBackground().setType(BackgroundType.OwnBackground);
//프레젠테이션에 새 섹션 추가
pres.getSections().addSection("Section 2", slide);
//SummaryZoomFrame 객체 추가
ISummaryZoomFrame summaryZoomFrame = pres.getSlides().get_Item(0).getShapes().addSummaryZoomFrame(150, 50, 300, 200);
//첫 번째 SummaryZoomSection 객체 가져오기
ISummaryZoomSection summarySection = summaryZoomFrame.getSummaryZoomCollection().get_Item(0);
//SummaryZoomSection 객체 서식 지정
IPPImage picture;
IImage image = Images.fromFile("image.png");
try {
picture = pres.getImages().addImage(picture);
} finally {
if (image != null) image.dispose();
}
summarySection.setImage(picture);
summarySection.setReturnToParent(false);
summarySection.getLineFormat().getFillFormat().setFillType(FillType.Solid);
summarySection.getLineFormat().getFillFormat().getSolidFillColor().setColor(Color.black);
summarySection.getLineFormat().setDashStyle(LineDashStyle.DashDot);
summarySection.getLineFormat().setWidth(1.5f);
summarySection.setTransitionDuration(1.5f);
//프레젠테이션 저장
pres.save("presentation.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
if (pres != null) pres.dispose();
}
FAQ
대상 슬라이드를 표시한 후 ‘부모’ 슬라이드로 돌아가는 동작을 제어할 수 있나요?
예. Zoom frame 또는 section에는 ReturnToParent 동작이 있어 이를 활성화하면 시청자를 대상 콘텐츠를 본 후 원래 슬라이드로 되돌릴 수 있습니다.
Zoom 전환의 ‘속도’ 또는 지속 시간을 조정할 수 있나요?
예. Zoom은 TransitionDuration을 설정하여 점프 애니메이션의 지속 시간을 제어할 수 있습니다.
프레젠테이션에 포함될 수 있는 Zoom 객체 수에 제한이 있나요?
문서화된 명확한 API 제한은 없습니다. 실제 제한은 프레젠테이션 전체 복잡도와 뷰어 성능에 따라 달라집니다. 많은 Zoom 프레임을 추가할 수 있지만 파일 크기와 렌더링 시간을 고려하십시오.