PythonでPowerPointファイルをマージする

PythonでPowerPoint自動化を使用しているときに、複数のプレゼンテーションのコンテンツをマージする必要がある場合があります。これは、最終的にマージする必要のある部分で複数の人がプレゼンテーションを作成する場合に必要になる可能性があります。このマージを自動化するために、この記事では、PythonでPowerPointPPTまたはPPTXをプログラムでマージする方法を示します。

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回目のプレゼンテーション

マージされるソースパワーポイントのプレゼンテーション

統合されたプレゼンテーション

Pythonでパワーポイントpptをマージ

異なるスライドサイズのプレゼンテーションをマージする

マージするプレゼンテーションでは、スライドに異なるサイズが使用されている可能性があります。このような場合は、マージする前にスライドのサイズを同期することをお勧めします。スライドサイズの異なる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)

統合されたプレゼンテーション

Pythonの結合されたパワーポイントppt

無料ライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしに.NET経由でAspose.Slides for Pythonを使用できます。

結論

この記事では、PythonでPowerPoint PPT/PPTXプレゼンテーションをマージする方法を学習しました。コードサンプルを使用して、複数のPowerPointプレゼンテーションをマージするさまざまなシナリオについて説明しました。ライブラリをインストールして、提供されているコードサンプルをアプリケーションで使用するだけです。 Aspose.Slides for Pythonについて詳しく知りたい場合は、ドキュメントにアクセスしてください。また、フォーラムから質問することもできます。

関連項目

情報:Aspose free online PowerPoint Mergerは、サービスとしてのプレゼンテーションマージプロセスのライブ実装です。