Python で PowerPoint PPT または PPTX スライドを分割する方法

Python で PowerPoint PPT または PPTX スライドを分割する方法

PPTX は、新しい PowerPoint プレゼンテーションのデフォルトのプレゼンテーション ファイル形式です。 PPT ファイルのロードと保存のサポートが PPTX に組み込まれています。 PowerPoint ファイルはプレゼンテーションとも呼ばれます。場合によっては、長い PowerPoint プレゼンテーションをスライド範囲ごとに複数のファイルに分割したり、すべての PowerPoint スライドを複数の PPTX ファイルに抽出したりする必要があります。大きな PowerPoint ファイルを元のスライドを含むプレゼンテーションに手動で分割する場合、時間のかかる作業になります。この記事では、Python で PowerPoint PPT または PPTX スライドを分割する方法に関する簡単な解決策を示します。

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

PowerPoint PPTX スプリッター クラウド API および Python SDK

PowerPoint PPTX/PPT スライドを分割するには、GroupDocs.Merger Cloud API の Python SDK を使用します。 サポートされている文書形式WordExcelVisio 図面PDFHTML。 Python ソース コード リポジトリ は、GitHub で無料で入手できます。

ターミナルで次のコマンドを使用すると、PyPI から PIP を使用して Python アプリケーションに PowerPoint スプリッターをインストールできます。

pip install groupdocs-merger-cloud

以下の手順を実行する前に、ダッシュボードから クライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下のコードをアプリケーションに追加して、以下に示すように PowerPoint を 2 つのファイルに分割します。

# groupdocs Merger SDK をインポートする
import groupdocs_merger_cloud

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

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

Python で PPTX を複数の単一スライド ファイルに分割する方法

以下の手順に従って、PowerPoint PPT/PPTX スライドをクラウド上でプログラム的に分割できます。

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

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

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

# ファイルアップロードリクエストを呼び出す
request = groupdocs_merger_cloud.UploadFileRequest("python-testing\sample-powerpoint.pptx", "H:\\groupdocs-cloud-data\\sample-powerpoint.pptx", storage_name)

# pptxファイルをクラウドにアップロードする
response = file_api.upload_file(request)
print(response.uploaded)

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

Python で PowerPoint PPT/PPTX スライドを分割する

以下の手順に従って、プログラムで PPTX ファイルのページを個別の PowerPoint スライドに分割できます。

  • まず、DocumentApiのインスタンスを作成します。
  • 次に、SplitOptions のインスタンスを作成します。
  • 次に、FileInfo のインスタンスを作成します。
  • 入力ファイルのパスを引数として FileInfo に渡します
  • 次に、出力ファイルのパスを指定します
  • 特定のページ番号をカンマ区切りの配列で設定します。
  • ここで、pptx 分割モードをページに設定します。カンマ区切りの配列でページ番号を分割できます。
  • SplitOptions を使用して SplitRequest を作成する
  • 最後に、SplitRequest を引数として DocumentAPI.split() メソッドを呼び出し、結果を取得します。

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

# Python で PPTX を複数の単一スライド ファイルに分割する方法
try:
  # Document API のインスタンスを作成する
  documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(app_sid, app_key)

  options = groupdocs_merger_cloud.SplitOptions()
  options.file_info = groupdocs_merger_cloud.FileInfo("python-testing\sample-powerpoint.pptx")
  options.output_path = "python-testing"
  options.pages = [1, 3]
  options.mode = "Pages"
  
  result = documentApi.split(groupdocs_merger_cloud.SplitRequest(options))
  print("Successfully split powerpoint to single slides: " + str(result))
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))
Python での PPTX プレゼンテーション

Python で PowerPoint PPT/PPTX プレゼンテーションを分割する

別ファイルをダウンロードする

最後に、上記のコードサンプルは、Pythonを使用して分離したファイルをクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。

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

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

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

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

Python で PowerPoint をページ範囲ごとに単一のスライドに分割する

以下の手順に従って、プログラムでページ番号の範囲を指定することで、PowerPoint ファイルのページを分割できます。

  • DocumentApi のインスタンスを作成します。
  • 次に、SplitOptions のインスタンスを作成します。
  • 次に、FileInfo のインスタンスを作成します。
  • 入力ファイルのパスを引数として FileInfo に渡します
  • 次に、出力ファイルのパスを指定します as “python-testing”
  • start\page\number と end\page\number の値を設定します
  • PowerPoint を分割するには、pptx 分割モードを [ページ] に設定します。
  • SplitOptions を使用して SplitRequest を作成する
  • 最後に、SplitRequest を引数として DocumentAPI.split() メソッドを呼び出します。

次のコード スニペットは、REST API を使用して Python で PowerPoint ファイルを正確なページ番号で分割する方法を示しています。

# Python で PowerPoint をページ範囲ごとに単一のスライドに分割する方法
try:
  # Document API のインスタンスを作成する
  documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(app_sid, app_key)

  options = groupdocs_merger_cloud.SplitOptions()
  options.file_info = groupdocs_merger_cloud.FileInfo("python-testing\sample-powerpoint.pptx")
  options.output_path = "python-testing"
  options.start_page_number = 3
  options.end_page_number = 5
  options.mode = "Pages"

  result = documentApi.split(groupdocs_merger_cloud.SplitRequest(options))
  print("Successfully split powerpoint to single slides by slides range: " + str(result))
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))

フィルターを適用して PowerPoint PPTX を複数の単一スライドに分割する

以下の手順に従って、範囲モードとフィルターをプログラム的に提供することで PPTX スライドを分離できます。

  • DocumentApi のインスタンスを作成する
  • 次に、SplitOptions のインスタンスを作成します。
  • 次に、FileInfo のインスタンスを作成します。
  • 入力ファイルのパスを引数として FileInfo に渡します
  • 次に、出力ファイルのパスを指定します as “python-testing”
  • start\page\number と end\page\number の値を設定します
  • 次に、range\mode を「OddPages」に設定します。
  • PowerPoint を分割するには、pptx 分割モードを [ページ] に設定します。
  • SplitOptions を使用して SplitRequest を作成する
  • 最後に、SplitRequest を引数として DocumentAPI.split() メソッドを呼び出します。

次のコード スニペットは、Python で REST API を使用してフィルターを適用してスライド ファイルを分割する方法を示しています。

# フィルターを適用して PowerPoint PPTX を複数の単一スライドに分割する方法
try:
  # Document API のインスタンスを作成する
  documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(app_sid, app_key)

  options = groupdocs_merger_cloud.SplitOptions()
  options.file_info = groupdocs_merger_cloud.FileInfo("python-testing\sample-powerpoint.pptx")
  options.output_path = "python-testing"
  options.start_page_number = 3
  options.end_page_number = 7
  options.range_mode = "OddPages"
  options.mode = "Pages"  # options.mode = "Intervals"

  result = documentApi.split(groupdocs_merger_cloud.SplitRequest(options))
  print("Successfully split PPTX by range of slides using filter: " + str(result))
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))

Python で PowerPoint PPTX を複数のマルチスライド ファイルに分割する方法

以下の手順に従って、プログラムで PowerPoint ファイルを複数ページの PowerPoint スライドに分割できます。

  • DocumentApi のインスタンスを作成する
  • 次に、SplitOptions のインスタンスを作成します。
  • 次に、FileInfo のインスタンスを作成します。
  • 入力ファイルのパスを引数として FileInfo に渡します
  • 次に、出力ファイルのパスを指定します as “python-testing”
  • 次に、ページコレクションを配列形式で設定します
  • PowerPoint を分割するには、pptx 分割モードを [間隔] に設定します。
  • SplitOptions を使用して SplitRequest を作成する
  • 最後に、SplitRequest を引数として DocumentAPI.split() メソッドを呼び出します。

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

# Python で PowerPoint PPTX を複数のマルチスライド ファイルに分割する方法
try:
  # Document API のインスタンスを作成する
  documentApi = groupdocs_merger_cloud.DocumentApi.from_keys(app_sid, app_key)

  options = groupdocs_merger_cloud.SplitOptions()
  options.file_info = groupdocs_merger_cloud.FileInfo("python-testing\sample-powerpoint.pptx")
  options.output_path = "python-testing"
  options.pages = [3, 6, 8]
  options.mode = "Intervals"

  result = documentApi.split(groupdocs_merger_cloud.SplitRequest(options))
  print("Successfully split PowerPoint to multiple slides: " + str(result))
except groupdocs_merger_cloud.ApiException as e:
  print("Exception while calling API: {0}".format(e.message))

オンライン分割 PowerPoint ファイル

オンラインで無料でPPTスライドを分割する方法? 無料のオンライン PowerPoint スプリッター を試して、PowerPoint ドキュメントを固定ページ数またはさまざまなページ範囲で複数の PPTX スライドに分割することができます。複数ページの PPTX ドキュメントは、元のドキュメントの形式を維持したまま複数の PPTX ファイルに分割されます。

結論

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

  • クラウド上で Python で PowerPoint プレゼンテーションを分割する方法。
  • Python で PowerPoint のスライドを別のファイルに分割する方法。
  • Python でプログラム的に ppt スライドを正確な数で分割する方法;
  • Python でプログラム的に ppt ファイルを範囲モードで分割する方法;

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

質問する

オンラインで ppt を複数のファイルに分割する方法、または ppt からページを抽出する方法についてご質問がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目