PythonでPowerPoint自動化を使用しているときに、複数のプレゼンテーションのコンテンツをマージする必要がある場合があります。これは、最終的にマージする必要のある部分で複数の人がプレゼンテーションを作成する場合に必要になる可能性があります。このマージを自動化するために、この記事では、PythonでPowerPointPPTまたはPPTXをプログラムでマージする方法を示します。
- PythonPowerPoint合併ライブラリ
- PowerPointプレゼンテーションをマージする
- 異なるスライドサイズのプレゼンテーションを組み合わせる
- PPTスライドを特定のセクションにマージする
- PowerPointプレゼンテーションをマージするときにスライドマスターを使用する
PowerPointPPTをマージするPythonライブラリ
Aspose.Slides for Python via .NETは、プレゼンテーションファイルを作成および操作するための強力なPythonライブラリです。さらに、複数のPPT/PPTXプレゼンテーションをマージする柔軟な方法を提供します。このライブラリを利用して、この記事のプレゼンテーションをマージします。次のpipコマンドを使用して、PyPIからインストールできます。
> pip install aspose.slides
PythonでPowerPointプレゼンテーションをマージする
PPTプレゼンテーションをマージするには、あるプレゼンテーションから別のプレゼンテーションにスライドを複製する必要があります。以下は、Pythonで2つのPPTファイルをマージする手順です。
- Presentationクラスのオブジェクトを作成して、最初のプレゼンテーションをロードします。
- 別のPresentationオブジェクトを作成して、2番目のプレゼンテーションをロードします。
- ループを開始して、2番目のプレゼンテーションのスライドを繰り返します。
- 各反復で、Presentation.slides.add \ clone(ISlide)メソッドを使用して、スライドを最初のプレゼンテーションにマージします。
- 最後に、Presentation.save(String, SaveFormat)メソッドを使用して、マージされたプレゼンテーションを保存します。
次のコードサンプルは、Pythonで2つのPowerPoint PPTXプレゼンテーションをマージする方法を示しています。
import aspose.slides as slides
# open first PPT
with slides.Presentation("presentation1.pptx") as pres1:
# open second PPT
with slides.Presentation("Presentation2.pptx") as pres2:
# loop through slides
for slide in pres2.slides:
# clone slide
pres1.slides.add_clone(slide)
# save merged PPT
pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)
最初のプレゼンテーション
2回目のプレゼンテーション
統合されたプレゼンテーション
異なるスライドサイズのプレゼンテーションをマージする
マージするプレゼンテーションでは、スライドに異なるサイズが使用されている可能性があります。このような場合は、マージする前にスライドのサイズを同期することをお勧めします。スライドサイズの異なるPowerPointPPTファイルをマージする方法を見てみましょう。
- Presentationクラスのオブジェクトを作成して、最初のPPTをロードします。
- 別のPresentationオブジェクトを作成して、2番目のPPTをロードします。
- Presentation.slide \ size.set \ size(int, int, SlideSizeScaleType)メソッドを使用して、2番目のPPTのスライドのサイズを変更します。
- ループを開始して、2番目のPPTのスライドを繰り返し処理します。
- 各反復で、Presentation.slides.add \ clone(ISlide)メソッドを使用してスライドを最初のPPTにマージします。
- 最後に、Presentation.save(String, SaveFormat)メソッドを使用して、マージされたPPTを保存します。
次のコードサンプルは、スライドサイズが異なるPPTプレゼンテーションをマージする方法を示しています。
import aspose.slides as slides
# open first PPT
with slides.Presentation("Presentation1.pptx") as pres1:
# open second PPT
with slides.Presentation("Presentation2.pptx") as pres2:
# change size of slides
pres2.slide_size.set_size(pres1.slide_size.size.width, pres1.slide_size.size.height, slides.SlideSizeScaleType.ENSURE_FIT)
# loop through slides
for slide in pres2.slides:
# clone slide
pres1.slides.add_clone(slide)
# save merged PPT
pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)
PPTスライドをPythonの特定のセクションにマージする
PPTスライドをターゲットプレゼンテーションの特定のセクションにマージすることもできます。このために、Presentation.slides.add \ clone(ISlide、ISection)メソッドが使用されます。次のコードサンプルは、最初のプレゼンテーションのスライドを2番目のプレゼンテーションの特定のセクションにマージする方法を示しています。
import aspose.slides as slides
# open first PPT
with slides.Presentation("Presentation1.pptx") as pres1:
# open second PPT
with slides.Presentation("Presentation2.pptx") as pres2:
# loop through slides
for slide in pres2.slides:
# clone slide
pres1.slides.add_clone(slide, pres1.sections[0])
# save merged PPT
pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)
PowerPointPPTのマージ中にスライドマスターを使用する
前のセクションでは、2番目のPPTのデザインとテンプレートを保持したままスライドをマージしました。ただし、複製されたスライドの最初の(または宛先の)プレゼンテーションのレイアウトを使用する必要がある場合があります。このような場合、オーバーロードされたメソッドPresentation.slides.add \ clone(ISlide、Presentation.masters [int]、allow \ clone \ missing \ layout = True)が使用され、2番目のパラメーターがスライドマスターを定義します。
次のコードサンプルは、Pythonで目的のスライドマスターを使用してPPTプレゼンテーションをマージする方法を示しています。
import aspose.slides as slides
# open first PPT
with slides.Presentation("Presentation1.pptx") as pres1:
# open second PPT
with slides.Presentation("Presentation2.pptx") as pres2:
# loop through slides
for slide in pres2.slides:
# clone slide
pres1.slides.add_clone(slide, pres1.masters[0], allow_clone_missing_layout = True)
# save merged PPT
pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)
統合されたプレゼンテーション
無料ライセンスを取得する
無料の一時ライセンスを取得して、評価の制限なしに.NET経由でAspose.Slides for Pythonを使用できます。
結論
この記事では、PythonでPowerPoint PPT/PPTXプレゼンテーションをマージする方法を学習しました。コードサンプルを使用して、複数のPowerPointプレゼンテーションをマージするさまざまなシナリオについて説明しました。ライブラリをインストールして、提供されているコードサンプルをアプリケーションで使用するだけです。 Aspose.Slides for Pythonについて詳しく知りたい場合は、ドキュメントにアクセスしてください。また、フォーラムから質問することもできます。
関連項目
情報:Aspose free online PowerPoint Mergerは、サービスとしてのプレゼンテーションマージプロセスのライブ実装です。