Pythonでプレゼンテーションのズームを管理
Overview
PowerPoint のズーム機能を使用すると、プレゼンテーション内の特定のスライド、セクション、またはページの一部へ簡単にジャンプしたり、そこから戻ったりできます。プレゼンテーション中にコンテンツ間を素早く移動できるこの機能は、非常に便利です。

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

スライドズームオブジェクトについては、Aspose.Slides が ZoomImageType 列挙型、IZoomFrame インターフェイス、および IShapeCollection インターフェイス内のいくつかのメソッドを提供します。
Creating Zoom Frames
スライドにズームフレームを追加する手順は次のとおりです。
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)
Creating Zoom Frames with Custom Images
Aspose.Slides for Python via .NET を使用すると、スライドプレビュー画像以外の画像でズームフレームを作成できます。手順は次のとおりです。
Presentationクラスのインスタンスを作成します。- リンク先となる新しいスライドを作成します。
- 作成したスライドに識別用テキストと背景を追加します。
Presentationオブジェクトに関連付けられた Images コレクションに画像を追加し、IPPImage オブジェクトを作成してフレームを埋めます。- 最初のスライドにズームフレーム(作成したスライドへの参照を含む)を追加します。
- 変更したプレゼンテーションを 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)
Formatting Zoom Frames
前述の項目では、シンプルなズームフレームの作成方法を示しました。より複雑なズームフレームを作成するには、フレームの書式設定を変更する必要があります。ズームフレームに適用できる書式設定は複数あります。
スライド上のズームフレームの書式設定は次の手順で行います。
Presentationクラスのインスタンスを作成します。- リンク先となる新しいスライドを作成します。
- 作成したスライドに識別用テキストと背景を追加します。
- 最初のスライドにズームフレーム(作成したスライドへの参照を含む)を追加します。
Presentationオブジェクトに関連付けられた Images コレクションに画像を追加し、IPPImage オブジェクトを作成します。- 最初のズームフレームオブジェクトにカスタム画像を設定します。
- 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)
Section Zoom
セクションズームは、プレゼンテーション内の特定のセクションへのリンクです。強調したいセクションに戻ったり、プレゼンテーションの各部分がどのように結びつくかを示したりするのに使用できます。

セクションズームオブジェクトについては、Aspose.Slides が ISectionZoomFrame インターフェイスと、IShapeCollection インターフェイス内のいくつかのメソッドを提供します。
Creating Section Zoom Frames
スライドにセクションズームフレームを追加する手順は次のとおりです。
- 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)
Creating Section Zoom Frames with Custom Images
Aspose.Slides for Python を使用すると、別のスライドプレビュー画像でセクションズームフレームを作成できます。手順は次のとおりです。
- Presentation クラスのインスタンスを作成します。
- 新しいスライドを作成します。
- 作成したスライドに識別用背景を追加します。
- リンク先となる新しいセクションを作成します。
Presentationオブジェクトに関連付けられた Images コレクションに画像を追加し、IPPImageオブジェクトを作成してフレームを埋めます。- 最初のスライドにセクションズームフレーム(作成したセクションへの参照を含む)を追加します。
- 変更したプレゼンテーションを 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)
Formatting Section Zoom Frames
より複雑なセクションズームフレームを作成するには、シンプルなフレームの書式設定を変更する必要があります。セクションズームフレームに適用できる書式設定はいくつかあります。
スライド上でセクションズームフレームの書式設定を行う手順は次のとおりです。
- Presentation クラスのインスタンスを作成します。
- 新しいスライドを作成します。
- 作成したスライドに識別用背景を追加します。
- リンク先となる新しいセクションを作成します。
- 最初のスライドにセクションズームフレーム(作成したセクションへの参照を含む)を追加します。
- 作成したセクションズームオブジェクトのサイズと位置を変更します。
Presentationオブジェクトに関連付けられた Images コレクションに画像を追加し、IPPImageオブジェクトを作成します。- 作成したセクションズームフレームオブジェクトにカスタム画像を設定します。
- 「リンクされたセクションから元のスライドに戻る」機能を有効にします。
- セクションズームフレームオブジェクトの画像から背景を削除します。
- 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)
Summary Zoom
サマリーズームは、プレゼンテーションの全体像を一度に表示するランディングページのようなものです。プレゼンテーション中に、任意の順序で任意の場所へジャンプしたり、スキップしたり、再訪したりできます。

サマリーズームオブジェクトについては、Aspose.Slides が ISummaryZoomFrame、ISummaryZoomFrameSection、および ISummaryZoomSectionCollection インターフェイスと、IShapeCollection インターフェイス内のいくつかのメソッドを提供します。
Creating Summary Zoom
スライドにサマリーズームフレームを追加する手順は次のとおりです。
- 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)
Adding and Removing Summary Zoom Section
サマリーズームフレーム内のすべてのセクションは ISummaryZoomFrameSection オブジェクトとして表現され、ISummaryZoomSectionCollection オブジェクトに格納されます。セクションの追加や削除は、ISummaryZoomSectionCollection インターフェイスを介して次の手順で行えます。
- 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)
#プレゼンテーションに新しいスライドを追加
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)
#プレゼンテーションに新しいスライドを追加
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
# プレゼンテーションに新しいセクションを追加
section3 = pres.sections.add_section("Section 3", slide)
# Summary Zoom にセクションを追加
summaryZoomFrame.summary_zoom_collection.add_summary_zoom_section(section3)
# Summary Zoom からセクションを削除
summaryZoomFrame.summary_zoom_collection.remove_summary_zoom_section(pres.sections[1])
# プレゼンテーションを保存
pres.save("presentation.pptx", slides.export.SaveFormat.PPTX)
Formatting Summary Zoom Sections
より複雑なサマリーズームセクションオブジェクトを作成するには、シンプルなフレームの書式設定を変更する必要があります。サマリーズームセクションオブジェクトに適用できる書式設定はいくつかあります。
サマリーズームフレーム内のサマリーズームセクションオブジェクトの書式設定は次の手順で行います。
- Presentation クラスのインスタンスを作成します。
- 作成したスライドに識別用背景と新しいセクションを設定します。
- 最初のスライドにサマリーズームフレームを追加します。
ISummaryZoomSectionCollectionから最初のセクションオブジェクトを取得します。Presentationオブジェクトに関連付けられた Images コレクションに画像を追加し、IPPImageオブジェクトを作成します。- 作成したセクションズームフレームオブジェクトにカスタム画像を設定します。
- 「リンクされたセクションから元のスライドに戻る」機能を有効にします。
- 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
Can I control returning to the ‘parent’ slide after showing the target?
はい。Zoom frame または section には return_to_parent 動作があり、有効にすると対象コンテンツを表示した後に元のスライドに戻ります。
Can I adjust the ‘speed’ or duration of the Zoom transition?
はい。Zoom では transition_duration を設定でき、ジャンプ アニメーションの長さを制御できます。
Are there limits on how many Zoom objects a presentation can contain?
明確な API 制限は文書化されていません。実際の制限はプレゼンテーション全体の複雑さや閲覧環境のパフォーマンスに依存します。多数のズームフレームを追加可能ですが、ファイルサイズやレンダリング時間には留意してください。