Pythonでプレゼンテーションのズームを管理する
概要
PowerPoint のズーム機能を使用すると、プレゼンテーション内の特定のスライド、セクション、および部分にジャンプしたり、そこから戻ったりできます。プレゼンテーション中に、コンテンツを素早くナビゲートできるこの機能は非常に便利です。

- プレゼンテーション全体を 1 枚のスライドに要約するには、Summary Zoom を使用します。
- 選択したスライドのみを表示するには、Slide Zoom を使用します。
- 単一のセクションのみを表示するには、Section Zoom を使用します。
スライドズーム
スライドズームを使用すると、プレゼンテーションの流れを中断せずに任意の順序でスライド間を自由に移動でき、プレゼンテーションがよりダイナミックになります。スライドズームは、セクションが少ない短いプレゼンテーションに最適ですが、さまざまなシナリオでも利用できます。
スライドズームは、単一のキャンバス上にいるような感覚で複数の情報にドリルダウンできるようにします。

スライドズームオブジェクトについては、Aspose.Slides が ZoomImageType 列挙型、ZoomFrame クラス、および ShapeCollection クラスのいくつかのメソッドを提供します。
ズームフレームの作成
スライドにズームフレームを追加する手順は次のとおりです。
Presentationクラスのインスタンスを作成します。- リンク先となる新しいスライドを作成します。
- 作成したスライドに識別テキストと背景を追加します。
- 最初のスライドにズームフレーム(作成したスライドへの参照を含む)を追加します。
- 修正したプレゼンテーションを書き出して PPTX ファイルに保存します。
このサンプルコードは、スライドにズームフレームを作成する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
#プレゼンテーションに新しいスライドを追加
slide2 = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
slide3 = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
# 2番目のスライドの背景を作成
slide2.background.type = slides.BackgroundType.OWN_BACKGROUND
slide2.background.fill_format.fill_type = slides.FillType.SOLID
slide2.background.fill_format.solid_fill_color.color = draw.Color.cyan
# 2番目のスライド用テキストボックスを作成
autoshape = slide2.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 500, 200)
autoshape.text_frame.text = "Second Slide"
# 3番目のスライドの背景を作成
slide3.background.type = slides.BackgroundType.OWN_BACKGROUND
slide3.background.fill_format.fill_type = slides.FillType.SOLID
slide3.background.fill_format.solid_fill_color.color = draw.Color.dark_khaki
# 3番目のスライド用テキストボックスを作成
autoshape = slide3.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 500, 200)
autoshape.text_frame.text = "Trird Slide"
#ZoomFrameオブジェクトを追加
pres.slides[0].shapes.add_zoom_frame(20, 20, 250, 200, slide2)
pres.slides[0].shapes.add_zoom_frame(200, 250, 250, 200, slide3)
# プレゼンテーションを保存
pres.save("presentation-zoom.pptx", slides.export.SaveFormat.PPTX)
カスタム画像付きズームフレームの作成
Aspose.Slides for Python via .NET を使用すると、スライドプレビュー画像以外の画像でズームフレームを作成できます。手順は次のとおりです。
Presentationクラスのインスタンスを作成します。- リンク先となる新しいスライドを作成します。
- 作成したスライドに識別テキストと背景を追加します。
Presentationオブジェクトに関連付けられた Images コレクションに画像を追加して、フレームの塗りつぶしに使用する PPImage オブジェクトを作成します。- 最初のスライドにズームフレーム(作成したスライドへの参照を含む)を追加します。
- 修正したプレゼンテーションを書き出して PPTX ファイルに保存します。
この Python コードは、画像を変更したズームフレームを作成する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
#プレゼンテーションに新しいスライドを追加
slide = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
# 2番目のスライドの背景を作成
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.cyan
# 3番目のスライド用テキストボックスを作成
autoshape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 500, 200)
autoshape.text_frame.text = "Second Slide"
# ズームオブジェクト用の新しい画像を作成
image = pres.images.add_image(slides.Images.from_file("img.jpeg"))
#ZoomFrameオブジェクトを追加
pres.slides[0].shapes.add_zoom_frame(20, 20, 300, 200, slide, image)
# プレゼンテーションを保存
pres.save("presentation.pptx", slides.export.SaveFormat.PPTX)
ズームフレームの書式設定
前述のセクションでは、シンプルなズームフレームの作成方法を示しました。より複雑なズームフレームを作成するには、フレームの書式設定を変更する必要があります。ズームフレームに適用できる書式設定は複数あります。
スライド上のズームフレームの書式設定を行う手順は次のとおりです。
Presentationクラスのインスタンスを作成します。- リンク先となる新しいスライドを作成します。
- 作成したスライドに識別テキストと背景を追加します。
- 最初のスライドにズームフレーム(作成したスライドへの参照を含む)を追加します。
Presentationオブジェクトに関連付けられた Images コレクションに画像を追加して、フレームの塗りつぶしに使用する PPImage オブジェクトを作成します。- 最初のズームフレームオブジェクトにカスタム画像を設定します。
- 2 番目のズームフレームオブジェクトの線の書式を変更します。
- 2 番目のズームフレームオブジェクトの画像から背景を除去します。
- 修正したプレゼンテーションを書き出して PPTX ファイルに保存します。
この Python サンプルコードは、ズームフレームの書式設定を変更する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
#プレゼンテーションに新しいスライドを追加
slide2 = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
slide3 = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
# 2番目のスライドの背景を作成
slide2.background.type = slides.BackgroundType.OWN_BACKGROUND
slide2.background.fill_format.fill_type = slides.FillType.SOLID
slide2.background.fill_format.solid_fill_color.color = draw.Color.cyan
# 2番目のスライド用テキストボックスを作成
autoshape = slide2.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 500, 200)
autoshape.text_frame.text = "Second Slide"
# 3番目のスライドの背景を作成
slide3.background.type = slides.BackgroundType.OWN_BACKGROUND
slide3.background.fill_format.fill_type = slides.FillType.SOLID
slide3.background.fill_format.solid_fill_color.color = draw.Color.dark_khaki
# 3番目のスライド用テキストボックスを作成
autoshape = slide3.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 500, 200)
autoshape.text_frame.text = "Trird Slide"
#ZoomFrameオブジェクトを追加
zoomFrame1 = pres.slides[0].shapes.add_zoom_frame(20, 20, 250, 200, slide2)
zoomFrame2 = pres.slides[0].shapes.add_zoom_frame(200, 250, 250, 200, slide3)
# ズームオブジェクト用の新しい画像を作成
image = pres.images.add_image(slides.Images.from_file("img.jpeg"))
# zoomFrame1オブジェクトにカスタム画像を設定
zoomFrame1.image = image
# zoomFrame2オブジェクトのズームフレーム書式を設定
zoomFrame2.line_format.width = 5
zoomFrame2.line_format.fill_format.fill_type = slides.FillType.SOLID
zoomFrame2.line_format.fill_format.solid_fill_color.color = draw.Color.hot_pink
zoomFrame2.line_format.dash_style = slides.LineDashStyle.DASH_DOT
# zoomFrame2オブジェクトの背景を表示しない
zoomFrame2.show_background = False
# プレゼンテーションを保存
pres.save("presentation-zoom2.pptx", slides.export.SaveFormat.PPTX)
セクションズーム
セクションズームは、プレゼンテーション内のセクションへのリンクです。セクションズームを使用して、強調したいセクションに戻ったり、プレゼンテーションの特定の部分同士のつながりをハイライトしたりできます。

セクションズームオブジェクトについては、Aspose.Slides が SectionZoomFrame クラスと ShapeCollection クラスのいくつかのメソッドを提供します。
セクションズームフレームの作成
スライドにセクションズームフレームを追加する手順は次のとおりです。
- Presentation クラスのインスタンスを作成します。
- 新しいスライドを作成します。
- 作成したスライドに識別用背景を追加します。
- ズームフレームをリンクする新しいセクションを作成します。
- 最初のスライドにセクションズームフレーム(作成したセクションへの参照を含む)を追加します。
- 修正したプレゼンテーションを書き出して PPTX ファイルに保存します。
この Python コードは、スライドにズームフレームを作成する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
#プレゼンテーションに新しいスライドを追加
slide = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.yellow_green
# プレゼンテーションに新しいセクションを追加
pres.sections.add_section("Section 1", slide)
# SectionZoomFrameオブジェクトを追加
sectionZoomFrame = pres.slides[0].shapes.add_section_zoom_frame(20, 20, 300, 200, pres.sections[1])
# プレゼンテーションを保存
pres.save("presentation.pptx", slides.export.SaveFormat.PPTX)
カスタム画像付きセクションズームフレームの作成
Aspose.Slides for Python を使用すると、異なるスライドプレビュー画像でセクションズームフレームを作成できます。手順は次のとおりです。
- Presentation クラスのインスタンスを作成します。
- 新しいスライドを作成します。
- 作成したスライドに識別用背景を追加します。
- ズームフレームをリンクする新しいセクションを作成します。
- Presentation オブジェクトに関連付けられた Images コレクションに画像を追加して、フレームの塗りつぶしに使用する PPImage オブジェクトを作成します。
- 最初のスライドにセクションズームフレーム(作成したセクションへの参照を含む)を追加します。
- 修正したプレゼンテーションを書き出して PPTX ファイルに保存します。
この Python コードは、画像を変更したズームフレームを作成する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
#プレゼンテーションに新しいスライドを追加
slide = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.yellow_green
# プレゼンテーションに新しいセクションを追加
pres.sections.add_section("Section 1", slide)
# ズームオブジェクト用の新しい画像を作成
image = pres.images.add_image(slides.Images.from_file("img.jpeg"))
# SectionZoomFrameオブジェクトを追加
sectionZoomFrame = pres.slides[0].shapes.add_section_zoom_frame(20, 20, 300, 200, pres.sections[1], image)
# プレゼンテーションを保存
pres.save("presentation.pptx", slides.export.SaveFormat.PPTX)
セクションズームフレームの書式設定
より複雑なセクションズームフレームを作成するには、シンプルなフレームの書式設定を変更する必要があります。セクションズームフレームに適用できる書式設定は複数あります。
スライド上のセクションズームフレームの書式設定を行う手順は次のとおりです。
- Presentation クラスのインスタンスを作成します。
- 新しいスライドを作成します。
- 作成したスライドに識別用背景を追加します。
- ズームフレームをリンクする新しいセクションを作成します。
- 最初のスライドにセクションズームフレーム(作成したセクションへの参照を含む)を追加します。
- 作成したセクションズームオブジェクトのサイズと位置を変更します。
- Presentation オブジェクトに関連付けられた Images コレクションに画像を追加して、フレームの塗りつぶしに使用する PPImage オブジェクトを作成します。
- 作成したセクションズームフレームオブジェクトにカスタム画像を設定します。
- リンクされたセクションから元のスライドに戻る 動作を設定します。
- セクションズームフレームオブジェクトの画像から背景を除去します。
- 2 番目のズームフレームオブジェクトの線の書式を変更します。
- 遷移時間を変更します。
- 修正したプレゼンテーションを書き出して PPTX ファイルに保存します。
この Python コードは、セクションズームフレームの書式設定を変更する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
#プレゼンテーションに新しいスライドを追加
slide = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.yellow_green
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
# プレゼンテーションに新しいセクションを追加
pres.sections.add_section("Section 1", slide)
# SectionZoomFrameオブジェクトを追加
sectionZoomFrame = pres.slides[0].shapes.add_section_zoom_frame(20, 20, 300, 200, pres.sections[1])
# SectionZoomFrameの書式設定
sectionZoomFrame.x = 100
sectionZoomFrame.y = 300
sectionZoomFrame.width = 100
sectionZoomFrame.height = 75
image = pres.images.add_image(slides.Images.from_file("img.jpeg"))
sectionZoomFrame.image = image
sectionZoomFrame.return_to_parent = True
sectionZoomFrame.show_background = False
sectionZoomFrame.line_format.fill_format.fill_type = slides.FillType.SOLID
sectionZoomFrame.line_format.fill_format.solid_fill_color.color = draw.Color.brown
sectionZoomFrame.line_format.dash_style = slides.LineDashStyle.DASH_DOT
sectionZoomFrame.line_format.width = 2.5
sectionZoomFrame.transition_duration = 1.5
# プレゼンテーションを保存
pres.save("presentation.pptx", slides.export.SaveFormat.PPTX)
要約ズーム
要約ズームは、プレゼンテーションの全体像を 1 ページにまとめたランディングページのようなものです。プレゼンテーション中に、要約ズームを使って任意の順序でスライド間を移動したり、スキップしたり、再訪したりできます。プレゼンテーションの流れを中断せずに創造的に操作できます。

要約ズームオブジェクトについては、Aspose.Slides が SummaryZoomFrame、SummaryZoomSection、および SummaryZoomSectionCollection クラスと、ShapeCollection クラスのいくつかのメソッドを提供します。
要約ズームの作成
スライドに要約ズームフレームを追加する手順は次のとおりです。
- Presentation クラスのインスタンスを作成します。
- 作成したスライドに識別用背景と新しいセクションを設定して新規スライドを作成します。
- 最初のスライドに要約ズームフレームを追加します。
- 修正したプレゼンテーションを書き出して PPTX ファイルに保存します。
この Python コードは、スライドに要約ズームフレームを作成する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
# スライド配列を作成
for slideNumber in range(5):
# プレゼンテーションに新しいスライドを追加
slide = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
# スライドの背景を作成
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.dark_khaki
# スライド用テキストボックスを作成
autoshape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 200, 500, 200)
autoshape.text_frame.text = "Slide - {num}".format(num = (slideNumber + 2))
# 最初のスライドのすべてのスライドに対してズームオブジェクトを作成
for slideNumber in range(1, len(pres.slides)):
x = (slideNumber - 1) * 100
y = (slideNumber - 1) * 100
zoomFrame = pres.slides[0].shapes.add_zoom_frame(x, y, 150, 120, pres.slides[slideNumber])
# ReturnToParent プロパティを設定して最初のスライドに戻るようにする
zoomFrame.return_to_parent = True
# プレゼンテーションを保存
pres.save("presentation-zoom3.pptx", slides.export.SaveFormat.PPTX)
要約ズームセクションの追加と削除
要約ズームフレーム内のすべてのセクションは SummaryZoomSection オブジェクトで表され、SummaryZoomSectionCollection オブジェクトに格納されます。要約ズームセクションオブジェクトは、SummaryZoomSectionCollection クラスを使用して追加または削除できます。
- Presentation クラスのインスタンスを作成します。
- 作成したスライドに識別用背景と新しいセクションを設定して新規スライドを作成します。
- 最初のスライドに要約ズームフレームを追加します。
- プレゼンテーションに新しいスライドとセクションを追加します。
- 作成したセクションを要約ズームフレームに追加します。
- 要約ズームフレームから最初のセクションを削除します。
- 修正したプレゼンテーションを書き出して PPTX ファイルに保存します。
この Python コードは、要約ズームフレームでセクションを追加および削除する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
#プレゼンテーションに新しいスライドを追加
slide = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.yellow_green
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
# プレゼンテーションに新しいセクションを追加
pres.sections.add_section("Section 1", slide)
#Adds a new slide to the presentation
slide = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.aqua
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
# Adds a new section to the presentation
pres.sections.add_section("Section 2", slide)
# Adds SummaryZoomFrame object
summaryZoomFrame = pres.slides[0].shapes.add_summary_zoom_frame(150, 50, 300, 200)
#Adds a new slide to the presentation
slide = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.chartreuse
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
# Adds a new section to the presentation
section3 = pres.sections.add_section("Section 3", slide)
# Adds a section to the Summary Zoom
summaryZoomFrame.summary_zoom_collection.add_summary_zoom_section(section3)
# Removes section from the Summary Zoom
summaryZoomFrame.summary_zoom_collection.remove_summary_zoom_section(pres.sections[1])
# Saves the presentation
pres.save("presentation.pptx", slides.export.SaveFormat.PPTX)
要約ズームセクションの書式設定
より複雑な要約ズームセクションオブジェクトを作成するには、シンプルなフレームの書式設定を変更する必要があります。要約ズームセクションオブジェクトに適用できる書式設定は複数あります。
要約ズームフレーム内の要約ズームセクションオブジェクトの書式設定を行う手順は次のとおりです。
- Presentation クラスのインスタンスを作成します。
- 作成したスライドに識別用背景と新しいセクションを設定して新規スライドを作成します。
- 最初のスライドに要約ズームフレームを追加します。
SummaryZoomSectionCollectionから最初のオブジェクトの要約ズームセクションを取得します。- Presentation オブジェクトに関連付けられた images コレクションに画像を追加して、フレームの塗りつぶしに使用する
PPImageオブジェクトを作成します。 - 作成したセクションズームフレームオブジェクトにカスタム画像を設定します。
- リンクされたセクションから元のスライドに戻る 動作を設定します。
- 2 番目のズームフレームオブジェクトの線の書式を変更します。
- 遷移時間を変更します。
- 修正したプレゼンテーションを書き出して PPTX ファイルに保存します。
この Python コードは、要約ズームセクションオブジェクトの書式設定を変更する方法を示しています。
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation() as pres:
#プレゼンテーションに新しいスライドを追加
slide = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.brown
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
# プレゼンテーションに新しいセクションを追加
pres.sections.add_section("Section 1", slide)
#プレゼンテーションに新しいスライドを追加
slide = pres.slides.add_empty_slide(pres.slides[0].layout_slide)
slide.background.fill_format.fill_type = slides.FillType.SOLID
slide.background.fill_format.solid_fill_color.color = draw.Color.aqua
slide.background.type = slides.BackgroundType.OWN_BACKGROUND
# プレゼンテーションに新しいセクションを追加
pres.sections.add_section("Section 2", slide)
# SummaryZoomFrameオブジェクトを追加
summaryZoomFrame = pres.slides[0].shapes.add_summary_zoom_frame(150, 50, 300, 200)
# 最初の SummaryZoomSection オブジェクトを取得
summarySection = summaryZoomFrame.summary_zoom_collection[0]
# SummaryZoomSection オブジェクトの書式設定
image = pres.images.add_image(slides.Images.from_file("img.jpeg"))
summarySection.image = image
summarySection.return_to_parent = False
summarySection.line_format.fill_format.fill_type = slides.FillType.SOLID
summarySection.line_format.fill_format.solid_fill_color.color = draw.Color.black
summarySection.line_format.dash_style = slides.LineDashStyle.DASH_DOT
summarySection.line_format.width = 1.5
summarySection.transition_duration = 1.5
# プレゼンテーションを保存
pres.save("presentation.pptx", slides.export.SaveFormat.PPTX)
FAQ
対象を表示した後に「親」スライドに戻る操作を制御できますか?
はい。Zoom frame または section には return_to_parent 動作があり、有効にすると対象コンテンツを閲覧した後に元のスライドに戻ります。
ズームの遷移「速度」や期間を調整できますか?
はい。Zoom では transition_duration を設定でき、ジャンプアニメーションの長さを制御できます。
プレゼンテーションに含められる Zoom オブジェクトの数に制限はありますか?
ドキュメント上の厳密な API 制限はありません。実際の制限はプレゼンテーション全体の複雑さやビューアーのパフォーマンスに依存します。多数のズームフレームを追加できますが、ファイルサイズや描画時間を考慮してください。