0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python を使って PowerPoint で画像を追加または削除する

Posted at

デジタルオフィスの時代において、Pythonはオフィス文書の自動処理に最適なツールとなっています。PowerPointの画像管理に関しては、Pythonを使用することで、複数のPowerPointファイルの一括操作が可能になり、手動操作によるエラーを減らすことができます。この記事では、無料のPythonライブラリを使ってPowerPointスライドに画像を追加する方法、またはPowerPointから画像を削除する方法を紹介します。

無料のPythonライブラリをインストールする

この作業には、Free Spire.Presentation for Python ライブラリが必要です。以下の pip コマンドを使ってインストールできます。

pip install Spire.Presentation.Free

無料版のページ制限を確認するにはクリック

PythonでPowerPointスライドに画像を追加する

無料のPythonライブラリが提供する ISlide.Shapes.AppendEmbedImageByImageData() メソッドを使用することで、指定されたスライドに画像を追加することができます。操作手順は以下の通りです。

  1. PowerPointプレゼンテーションを作成し、Presentation.Slides[index] プロパティを介してその中の指定されたスライドを取得します。
  2. 画像を読み込み、スライド上での画像の位置を指定します。
  3. ISlide.Shapes.AppendEmbedImageByPath() メソッドを介して、画像をスライドに追加します。
  4. Presentation.SaveToFile() メソッドを使用して、生成されたプレゼンテーションを保存します。

Pythonコード

from spire.presentation.common import *
import math
from spire.presentation import *

# PowerPoint プレゼンテーションの作成
presentation = Presentation()

# 最初のスライドを取得する
slide = presentation.Slides[0]

# 画像を読み込む
imageFile = "logo.png"

# スライド内で画像の位置を指定する
left = math.trunc(presentation.SlideSize.Size.Width / float(2)) -100
rect1 = RectangleF.FromLTRB (left, 120, 180 + left, 300)

# スライドに埋め込み画像を追加する
image = slide.Shapes.AppendEmbedImageByPath (ShapeType.Rectangle, imageFile, rect1)

# 画像の外枠線を塗りつぶしなしの効果に設定する
image.Line.FillType = FillFormatType.none

# PowerPoint 文書を保存する
presentation.SaveToFile("AddPowerPointImage.pptx", FileFormat.Pptx2016)
presentation.Dispose()

AddImageToPowerPoint.png

Python で PowerPoint のスライドから画像を削除する

PowerPoint のスライド内のすべての画像を削除するには、スライド内の各シェイプを反復処理し、シェイプ内の画像のタイプ(SlidePicture)を特定し、その後 ISlide.Shapes.Remove(Index) メソッドを使って画像を削除します。

  1. Presentation.LoadFromFile() メソッドを使って PowerPoint 文書を読み込みます。
  2. Presentation.Slides[index] プロパティを使って指定されたスライドを取得します。
  3. 指定されたスライド上のすべてのシェイプを反復処理します。
  4. 現在のシェイプが SlidePicture のタイプかどうかを判定し、そうであれば ISlide.Shapes.Remove(Index) を使って画像を削除します。
  5. Presentation.SaveToFile() メソッドを使って生成されたファイルを保存します。

Pythonコード

from spire.presentation.common import *
from spire.presentation import *

# PowerPoint プレゼンテーションの作成
ppt = Presentation()
ppt.LoadFromFile("AddPowerPointImage.pptx ")

# 最初のスライドを取得する
slide = ppt.Slides[0]

# スライド内のすべてのシェイプを反復処理する
for i in range(slide.Shapes.Count - 1, -1, -1):
   
    # 現在のシェイプが画像(SlidePicture)であるかどうかを判定する
    if isinstance(slide.Shapes[i], SlidePicture):
       
        # もし画像であれば、そのシェイプをスライドから削除する
        slide.Shapes.RemoveAt(i)

# PowerPoint 文書を保存する
ppt.SaveToFile("RemovePowerPointImage.pptx", FileFormat.Pptx2016)
ppt.Dispose()

上記の例では、Python を使って PowerPoint の画像を追加および削除することができます。さらに、この無料ライブラリは PowerPoint から画像を抽出することもサポートしています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?