PythonのPowerPointPPTでテキストを検索して置換する

デジタルドキュメントを処理しているときに、コンテンツ内の特定のテキストを見つけて置き換える必要があることがよくあります。これは、ドキュメントを共有する前に情報の一部を検閲する場合に必要になる可能性があります。これをプログラムで実行するために、この記事では、PowerPointPPTまたはPythonのPPTXでテキストを検索して置換する方法について説明します。

PowerPointPPTでテキストを検索して置換するPythonライブラリ

Aspose.Slides for Python via .NETは、Pythonアプリケーション内からのPowerPointプレゼンテーションの操作を簡素化する素晴らしいライブラリです。さらに、リッチなプレゼンテーションを最初からシームレスに作成できます。このライブラリを使用して、PPT/PPTXファイル内のテキストを検索して置き換えます。次のpipコマンドを使用して、PyPIからライブラリをインストールできます。

> pip install aspose.slides

Pythonを使用してPowerPointPPTでテキストを検索して置換する

プレゼンテーションの特定のテキストを置き換えるには、すべてのスライドのコンテンツを確認する必要があります。これは、Aspose.Slidesを使用すると非常に簡単です。以下は、PythonでPPTXプレゼンテーションのテキストを検索して置換する手順です。

  • まず、Presentationクラスを使用してPowerPoint PPT/PPTXをロードします。
  • 次に、Presentation.slidesコレクションを使用してスライドをループします。
  • 各反復で、SlideUtil.get \ all \ text \ boxes(slide)メソッドを使用してスライドのテキストフレームを取得します。
  • テキストフレームをループし、各反復で次の操作を実行します。
    • テキストフレームの段落をループします。
    • 各段落のテキスト部分にアクセスします。
    • テキスト部分に検索文字列が含まれているかどうかを確認してください。
    • はいの場合、検索文字列の位置を見つけて、テキストを置き換えます。
  • Presentation.save(string, SaveFormat)メソッドを使用して、更新されたPPTを保存します。

次のコードサンプルは、PythonでPowerPoint PPTXのテキストを検索して置換する方法を示しています。

import aspose.slides as slides

# load presentation
with slides.Presentation("presentation.pptx") as pres:

    strToFind = "Master"
    strToReplaceWith = "[replaced]"

    # loop through each slide
    for slide in pres.slides:

        # get all text frames in the slide
        tf = slides.util.SlideUtil.get_all_text_boxes(slide)

        # loop through text frames
        for i in range(len(tf)):

            # loop through paragraphs in text frame
            for para in tf[i].paragraphs:

                # loop through text portions in paragraph
                for port in para.portions:

                    # check if search string appears in text portion
                    if strToFind in port.text:    

                        # replace exisitng text with the new text
                        str = port.text
                        idx = str.index(strToFind)
                        strStartText = str[0: idx]
                        strEndText = str[idx + len(strToFind): len(str)]
                        port.text = strStartText + strToReplaceWith + strEndText

    # save the presentation
    pres.save("find-and-replace-text.pptx", slides.export.SaveFormat.PPTX)

次のスクリーンショットは、入力されたPowerPointプレゼンテーションを示しています。

Pythonを使用してPPTでテキストを検索して置換する

以下は、テキストを置き換えた後の結果のプレゼンテーションのスクリーンショットです。

PythonでPowerPointPPTのテキストを置き換える

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

一時ライセンスをリクエストすることで、評価の制限なしに.NET経由でAspose.Slides for Pythonを使用できます。

結論

この記事では、PythonのPowerPointPPTでテキストを検索して置き換える方法を学習しました。 Aspose.Slidesをインストールして、Pythonアプリケーション内からテキストの検索と置換を自動化できます。さらに、ドキュメントを読んで、Python用のAspose.Slidesの詳細を調べることができます。また、フォーラムにクエリを投稿することもできます。

関連項目

情報:Asposeは最近、無料のオンラインText to GIFサービスを開発しました。このサービスを使用すると、テキストをアニメーション化したり、単純なテキストからGIFを生成したりできます。