Python で PowerPoint PPT/PPTX ファイルを結合およびマージする

Python で PowerPoint PPT/PPTX ファイルを結合およびマージする

PowerPoint プレゼンテーションはスライドのコレクションであり、各スライドはテキスト、画像、アニメーション、メディアなどで構成されます。スライドを 1 つずつコピーして主プレゼンテーションに貼り付けて PowerPoint プレゼンテーションを結合するのは、時間のかかるプロセスです。そこで、GroupDocs は、PowerPoint ファイルを数秒で自動的にマージする Python ライブラリを提供します。クラウド上でプログラムを使用して、2 つ以上の PPTX ファイルを 1 つの PowerPoint ファイルに簡単に結合できます。この記事では、Python で PowerPoint PPT/PPTX ファイルを結合および結合する方法に関する簡単な解決策を学びます。

この記事では次のトピックについて説明します。

Python PowerPoint Merger REST API - インストール

2 つ以上の PPTX ファイルを結合するには、GroupDocs.Merger Cloud の Python SDK API を使用します。 2 つ以上のファイルを 1 つのドキュメントに結合したり、1 つのソース ドキュメントを複数の出力ドキュメントに分割したりできます。また、ページ全体または優先範囲に対して、ページの向きを移動、削除、交換、回転、または縦または横に変更することもできます。この SDK は、Word、Excel、PowerPoint, Visio、OneNote、PDF、HTML などのすべての 一般的なドキュメント形式 の結合と分割をサポートします。

コンソールで次のコマンドを使用して、GroupDocs.Merger Cloud を Python アプリケーションにインストールできます。

pip install groupdocs_merger_cloud

上記の手順に従う前に、ダッシュボード からクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

# http://api.groupdocs.cloud から Python SDK を Python アプリケーションにインポートします
import groupdocs_merger_cloud

# 無料登録後、https://dashboard.groupdocs.cloud から client_id と client_secret を取得します。
client_id = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
client_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# ファイル API 構成を取得する 
configuration = groupdocs_merger_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
storage_name = "MyStorage"

REST APIを使用してPythonでPowerPoint PPTXファイルを結合する

以下に説明する簡単な手順に従って、クラウド上で 2 つの PowerPoint PPT/PPTX ファイルをプログラムで結合できます。

  1. PPTXファイルをクラウドにアップロード
  2. Pythonを使用して複数のPPTXファイルをマージ
  3. ダウンロード 結合された PPTX ファイル

PPTX ファイルをアップロードする

まず、以下のコード例を使用して、PPTX ファイルをクラウドにアップロードします。

# PowerPoint ファイルをクラウド ストレージにアップロードする
# APIのインスタンスを作成する
import glob
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)

# サンプルファイルをアップロードする
for filename in glob.iglob("H:\\groupdocs-cloud-data\\upload\\*.pptx", recursive=True):
    destFile = filename.replace("H:\\groupdocs-cloud-data\\upload", "", 1)           
    # ファイルがすでに存在するかどうかを確認する
    fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
    if not fileExistsResponse.exists:
        # アップロードファイルリクエストの作成
        request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
        # ファイルをクラウドにアップロードする
        response = file_api.upload_file(request)
        print(response.uploaded)

その結果、アップロードされた PPTX ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。

Python を使用して複数の PPTX ファイルを結合する

以下の手順に従って、プログラムで複数の PPTX ファイルを 1 つのファイルに簡単にマージできます。

  • DocumentApi のインスタンスを作成します。
  • JoinItem のインスタンスを作成する
  • FileInfo の最初の JoinItem の入力ファイル パスを指定します。
  • JoinItem の別のインスタンスを作成する
  • FileInfo の 2 番目の JoinItem の入力ファイル パスを指定します。
  • 3 つ以上のファイルを結合するための JoinItem を追加します。
  • JoinOptions のインスタンスを作成する
  • 作成された結合項目のカンマ区切りリストを追加します
  • 出力ファイルのパスを設定する
  • JoinOptions を使用して JoinRequest のインスタンスを作成する
  • 最後に、JoinRequest を使用して DocumentAPI の join() メソッドを呼び出してファイルを結合します。

次のコード スニペットは、REST API を使用して Python で複数の PowerPoint ファイルを結合する方法を示しています。

# Python で PowerPoint PPTX ファイルを結合する方法 
# 必要なAPIインスタンスを作成する
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# 入力ソースファイル1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("python-testing/powerpoint-one.pptx")

# 入力ソースファイル2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("python-testing/powerpoint-two.pptx")

# 結合オプションを定義する
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "python-testing/joined-files.pptx"

# 参加リクエストの作成
request = groupdocs_merger_cloud.JoinRequest(options)

# pptxファイルを結合する
result = documentApi.join(request)
print("Successfully merged PPTX files: " + str(result))

結合されたファイルをダウンロードする

上記のコード サンプルは、マージされた PPTX ファイルをクラウドに保存します。次のコードサンプルを使用してダウンロードできます。

# マージされたファイルをダウンロードするための API の初期化
import shutil
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)

# ダウンロードファイルリクエストの作成
request = groupdocs_merger_cloud.DownloadFileRequest("python-testing\\joined-files.pptx", storage_name)

# 結合されたファイルをダウンロードする
response = file_api.download_file(request)

# ダウンロードしたファイルをディレクトリに移動します
shutil.move(response, "H:\\groupdocs-cloud-data\\")

Python で複数の PPTX ファイルの特定のページを結合する

以下の手順に従って、複数の PowerPoint ファイルの特定のページをプログラムで簡単に 1 つのドキュメントに結合できます。

  • DocumentApi のインスタンスを作成します。
  • JoinItem のインスタンスを作成する
  • FileInfo の最初の JoinItem の入力ファイル パスを指定します。
  • ページ番号のリストをカンマ区切りの配列で定義します
  • JoinItem の別のインスタンスを作成する
  • FileInfo の 2 番目の JoinItem の入力ファイル パスを指定します。
  • 開始ページ番号と終了ページ番号を定義する
  • ページ範囲モードを OddPages として定義します。
  • JoinOptions のインスタンスを作成する
  • 作成された結合項目のカンマ区切りリストを追加します
  • 出力ファイルのパスを設定する
  • JoinOptions を使用して JoinRequest のインスタンスを作成する
  • 最後に、JoinRequest を使用して DocumentAPI の join() メソッドを呼び出して pptx をマージします。

次のコード スニペットは、Python の REST API を使用して PPTX ファイルの特定のページをマージする方法を示しています。

# Python で複数の PPTX ファイルの特定のページをマージする方法
# API インスタンスの作成と初期化
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# 入力ソースファイル1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("python-testing/powerpoint-one.pptx")
# 結合する特定のスライドのスライド番号
item1.pages = [1,2]

# 入力ソースファイル2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("python-testing/powerpoint-two.pptx")
# 開始スライド番号
item2.start_page_number = 2
# 終了スライド番号
item2.end_page_number = 4
# スライド範囲モード
item2.range_mode = "OddPages"

# 結合オプションを定義する
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "python-testing/joined-slides.pptx"

# 参加リクエストの作成
request = groupdocs_merger_cloud.JoinRequest(options)

# pptxファイルを結合する
result = documentApi.join(request)
print("Successfully merged PPTX slides: " + str(result))

オンラインで試す

PPTXをオンラインで組み合わせるにはどうすればよいですか?上記APIを利用して開発された下記の無料オンラインPPTXマージツールをお試しください。

結論

このチュートリアルでは、次のことを学びました。

  • Python を使用してクラウド上で複数の PPTX ファイルを結合する方法。
  • マージされたファイルをプログラムでアップロードおよびダウンロードします。
  • Python で複数の PPTX ファイルの特定のページを 1 つのファイルに結合する方法。

さらに、ドキュメント を使用して、GroupDocs.Merger Cloud API について詳しく学ぶことができます。また、ブラウザーを通じて API を直接視覚化して通信できる API リファレンス セクションも提供しています。さらに、GroupDocs.Merger Cloud SDK for Python 例はこちらを参照してください。

質問する

PowerPoint の統合についてご不明な点がございましたら、無料サポート フォーラムまでお気軽にお問い合わせください。

関連項目