Python を使用して PowerPoint を編集する

Python 開発者は、PowerPoint プレゼンテーションをプログラムで簡単に編集できます。 Python を使用すると、外部アプリケーションをインストールせずにスライドのコンテンツを更新できます。この記事では、Python の REST API を使用して PowerPoint プレゼンテーションを編集する方法に焦点を当てます。

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

ドキュメント エディター REST API および Python SDK

PPTX の編集には、GroupDocs.Editor Cloud の Python SDK API を使用します。これを使用すると、Word 処理ドキュメント、Excel シート、またはその他のサポートされている形式のドキュメントをプログラムで編集できます。また、クラウド API の ドキュメント エディター ファミリ メンバー として、.NET、Java、PHP、Ruby、Android、および Node.js SDK も提供します。

コンソールで次のコマンドを使用して、GroupDocs.Editor-Cloud を Python プロジェクトにインストールできます。

pip install groupdocs_editor_cloud

手順と利用可能なコード例を開始する前に、ダッシュボード からクライアント ID とクライアント シークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

configuration = groupdocs_editor_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Python の REST API を使用して PowerPoint プレゼンテーションを編集する

以下の簡単な手順に従って、PowerPoint プレゼンテーションを編集できます。

  1. PPTXファイルをクラウドにアップロード
  2. 編集アップロードしたファイル
  3. ダウンロード更新されたファイル

ドキュメントをアップロードする

まず、以下のコード例を使用して、PowerPoint プレゼンテーションをクラウドにアップロードします。

# APIのインスタンスを作成する
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# サンプルファイルをアップロードする
request = groupdocs_editor_cloud.UploadFileRequest("sample.pptx", "C:\\Files\\sample.pptx", my_storage)
response = file_api.upload_file(request)

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

Python を使用して PowerPoint プレゼンテーションを編集する

PowerPoint プレゼンテーションをプログラムで編集するには、以下の手順に従ってください。

  • ファイル API インスタンスと 編集 API インスタンスを作成します
  • 入力ファイルのパスを指定します
  • PresentationLoadOptions を提供する
  • Edit APIのLoadメソッドでファイルを読み込みます。
  • File APIのDownload Fileメソッドを使用してHTMLドキュメントをダウンロードします。
  • ダウンロードしたHTMLドキュメントを編集する
  • File API の Upload File メソッドを使用して HTML をアップロードして戻します
  • PPTX に保存するための PresentationSaveOptions を提供します
  • Edit API の Save メソッドを使用して HTML を PPTX に保存します。

次のコード スニペットは、REST API を使用して PowerPoint プレゼンテーション ドキュメントを更新する方法を示しています。

# APIの初期化
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# 編集可能な状態にロードします
fileInfo = groupdocs_editor_cloud.FileInfo("sample.pptx")
loadOptions = groupdocs_editor_cloud.PresentationLoadOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
loadOptions.slide_number = 0
loadOptions.show_hidden_slides = True
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions)) 

# HTMLドキュメントをダウンロードする
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""     

# HTMLファイルを読む
with open(htmlFile, 'r') as file:
    html = file.read() 

# テキストを置換する    
html = html.replace("Hello World", "Welcome")

# HTML をストレージにアップロードして戻す
with open(htmlFile, 'w') as file:
    file.write(html)

fileApi.upload_file(groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile))

# HTML を PPTX に保存し直す
saveOptions = groupdocs_editor_cloud.PresentationSaveOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "edited.pptx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
saveOptions.password = "password"
saveResult = editApi.save(groupdocs_editor_cloud.SaveRequest(saveOptions))

# 終わり
print("Document edited: " + saveResult.path)
Python を使用して PowerPoint プレゼンテーションを編集する

Python を使用して PowerPoint プレゼンテーションを編集する

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

上記のコード サンプルは、編集した PowerPoint プレゼンテーション (PPTX) ファイルをクラウドに保存します。次のコードサンプルを使用してダウンロードできます。

# APIの初期化
file_api = groupdocs_editor_cloud.FileApi.from_config(configuration)

# ファイルをダウンロードする
request = groupdocs_editor_cloud.DownloadFileRequest("edited.pptx", my_storage)
response = file_api.download_file(request)

# ダウンロードしたファイルを作業ディレクトリに移動します
shutil.move(response, "C:\\Files\\")

Python を使用して PowerPoint プレゼンテーションの画像を更新する

PowerPoint プレゼンテーションの画像をプログラムで更新するには、以下の手順に従ってください。

  • ファイル API インスタンスと 編集 API インスタンスを作成します
  • 入力ファイルのパスを指定します
  • PresentationLoadOptions を提供する
  • Edit APIのLoadメソッドでファイルを読み込みます。
  • File APIのDownload Fileメソッドを使用してHTMLドキュメントをダウンロードします。
  • 画像ファイルをアップロードする
  • ダウンロードしたHTMLドキュメントを編集する and update the image
  • File API の Upload File メソッドを使用して HTML をアップロードして戻します
  • PPTX に保存するための PresentationSaveOptions を提供します
  • Edit API の Save メソッドを使用して HTML を PPTX に保存します。

次のコード スニペットは、REST API を使用して PowerPoint プレゼンテーション スライド上の画像を更新する方法を示しています。

# APIの初期化
editApi = groupdocs_editor_cloud.EditApi.from_keys(client_id, client_secret)
fileApi = groupdocs_editor_cloud.FileApi.from_keys(client_id, client_secret)

# 編集可能な状態にロードします
fileInfo = groupdocs_editor_cloud.FileInfo("sample.pptx")
loadOptions = groupdocs_editor_cloud.PresentationLoadOptions()
loadOptions.file_info = fileInfo
loadOptions.output_path = "output"
loadOptions.slide_number = 0
loadResult = editApi.load(groupdocs_editor_cloud.LoadRequest(loadOptions)) 

# HTMLドキュメントをダウンロードする
htmlFile = fileApi.download_file(groupdocs_editor_cloud.DownloadFileRequest(loadResult.html_path))
html = ""     

# HTMLファイルを読む
with open(htmlFile, 'r') as file:
    html = file.read() 

# 置き換える画像をアップロードする
request = groupdocs_editor_cloud.UploadFileRequest(loadOptions.output_path + "/sample.files/groupdocs.png", "C:\\Files\\groupdocs.png", "")
response = fileApi.upload_file(request)

# 画像を置き換える   
html = html.replace("Picture 2.png", "groupdocs.png")

# HTML をストレージにアップロードして戻す
with open(htmlFile, 'w') as file:
    file.write(html)

fileApi.upload_file(groupdocs_editor_cloud.UploadFileRequest(loadResult.html_path, htmlFile))

# HTML を PPTX に保存し直す
saveOptions = groupdocs_editor_cloud.PresentationSaveOptions()
saveOptions.file_info = fileInfo
saveOptions.output_path = "edited.pptx"
saveOptions.html_path = loadResult.html_path
saveOptions.resources_path = loadResult.resources_path
saveResult = editApi.save(groupdocs_editor_cloud.SaveRequest(saveOptions))
PowerPoint プレゼンテーション スライドの画像を更新する

PowerPoint プレゼンテーション スライドの画像を更新する

API は、定義された PresentationLoadOptions.output\path に HTML ファイルを作成します。作成された HTML ファイルに関連付けられたすべてのリソース ファイルは、この場合「sample.files」などの入力ファイル名が接頭辞として付けられた files サブディレクトリに配置されます。このディレクトリに画像をアップロードして、ターゲット画像に置き換える必要があります。スライド上のすべての画像には、「src」属性で Picture 2、Picture 3 などの名前が付けられます。

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン PowerPoint 編集ツールをお試しください。 https://products.groupdocs.app/editor/pptx

結論

この記事では、Python を使用したドキュメント エディター REST API を使用してクラウド上で PowerPoint プレゼンテーションを編集する方法を学習しました。また、プログラムによって PPTX ファイルをクラウドにアップロードし、更新されたファイルをクラウドからダウンロードする方法についても学習しました。 GroupDocs.Editor Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて API を直接視覚化して操作できる API リファレンス セクションも提供しています。不明な点がある場合は、フォーラムでお気軽にお問い合わせください。

関連項目