チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Python»Spire.Presentation for Python»文書操作»Python で PowerPoint スライドの背景色または背景画像を設定する方法
2026-09-18

Python で PowerPoint スライドの背景色または背景画像を設定する方法

同じ資料を毎回ゼロから作り直していると、どうしても体裁が揃いません。とくに背景は、スライドの読みやすさと第一印象を左右する要素でありながら、スライドごとに手作業で設定するのは手間のかかる作業です。背景をコードで制御できるようになれば、テンプレートの適用もブランドカラーの統一も一括で片付きます。

本記事では、Spire.Presentation for Python を使用して Python で PowerPoint スライドの背景色または背景画像を設定する方法 を解説します。単色・グラデーション・画像という 3 種類の塗り方に加えて、スライドマスタに背景を設定してすべてのスライドに一度に反映させる方法も紹介します。

クイックナビゲーション

準備:Spire.Presentation for Python のインストール

本記事のコードは Spire.Presentation for Python と plum-dispatch v1.7.4 を使用します。pip コマンドでインストールしてください。

pip install Spire.Presentation

スクリプト側では次の 2 行をインポートします。

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

手動でインストールする場合は、Spire.Presentation for Python のダウンロードページ からパッケージを取得できます。

なお、背景の設定はどのパターンでも流れは同じです。対象(スライドまたはスライドマスタ)の SlideBackground を取得し、SlideBackground.TypeBackgroundType.Custom に変更して、SlideBackground.Fill.FillType で塗り方を指定する——以降のセクションで変わるのは、この「塗り方」の部分だけです。

スライドの背景色を単色で設定する

最も基本となるのが単色(ソリッド)背景です。ISlide.SlideBackground プロパティでスライドの背景を取得し、SlideBackground.Fill.SolidColor.Color プロパティに任意の色を指定します。

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

# Presentation オブジェクトを作成
presentation = Presentation()

# PowerPoint プレゼンテーションを読み込む
presentation.LoadFromFile("Sample.pptx")

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

# スライドの背景を取得
background = slide.SlideBackground

# 背景の種類をカスタムに設定
background.Type = BackgroundType.Custom

# 背景の塗り方を単色に設定
background.Fill.FillType = FillFormatType.Solid

# 背景色を設定
background.Fill.SolidColor.Color = Color.get_PaleTurquoise()

# 結果を .pptx ファイルとして保存
presentation.SaveToFile("Solidbackground.pptx", FileFormat.Pptx2013)
presentation.Dispose()

Python で PowerPoint スライドに単色の背景色を設定

Presentation.Slides[index] のインデックスを変えれば、対象のスライドを個別に指定できます。色は Color.get_PaleTurquoise() のような定義済みの色のほか、Color.FromArgb() を使って RGB 値で指定することもできます。

スライドにグラデーション背景を設定する

グラデーションは少し複雑で、塗り方を FillFormatType.Gradient にしたうえで、停止点(グラデーションストップ)と色、そして方向を指定します。停止点は SlideBackground.Fill.Gradient.GradientStops.AppendByColor() メソッドで追加し、第 1 引数に位置(0.0〜1.0)、第 2 引数に色を渡します。

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

# Presentation オブジェクトを作成
presentation = Presentation()

# PowerPoint プレゼンテーションを読み込む
presentation.LoadFromFile("Sample.pptx")

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

# スライドの背景を取得
background = slide.SlideBackground

# 背景の種類をカスタムに設定
background.Type = BackgroundType.Custom

# 背景の塗り方をグラデーションに設定
background.Fill.FillType = FillFormatType.Gradient

# グラデーションの停止点と色を設定
background.Fill.Gradient.GradientStops.AppendByColor(0.1, Color.get_LightCyan())
background.Fill.Gradient.GradientStops.AppendByColor(0.7, Color.get_LightSeaGreen())

# グラデーションの形状と角度を設定
background.Fill.Gradient.GradientShape = GradientShapeType.Linear
background.Fill.Gradient.LinearGradientFill.Angle = 45

# 結果を .pptx ファイルとして保存
presentation.SaveToFile("Gradientbackground.pptx", FileFormat.Pptx2013)
presentation.Dispose()

Python で PowerPoint スライドにグラデーション背景を設定

GradientShapeType.Linear と合わせて SlideBackground.Fill.Gradient.LinearGradientFill.Angle を指定すると、グラデーションの向きを制御できます。上の例では 45 度に設定しています。GradientShapeType には RadialRectangle も用意されているため、放射状のグラデーションを作ることも可能です。

スライドに背景画像を設定する

背景を写真やテクスチャ画像に差し替える場合は、塗り方を FillFormatType.Picture にし、Presentation.Images.AppendStream() メソッドで画像をプレゼンテーションに埋め込みます。埋め込んだ画像は SlideBackground.Fill.PictureFill.Picture.EmbedImage プロパティに渡します。ここで画像を「埋め込む」のがポイントで、外部ファイルへのリンクではなく pptx 内に格納されるため、配布先の環境に依存しません。

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

# Presentation オブジェクトを作成
presentation = Presentation()

# PowerPoint プレゼンテーションを読み込む
presentation.LoadFromFile("Sample.pptx")

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

# スライドの背景を取得
background = slide.SlideBackground

# 背景の種類をカスタムに設定
background.Type = BackgroundType.Custom

# 背景の塗り方を画像に設定
background.Fill.FillType = FillFormatType.Picture

# 画像をプレゼンテーションの画像コレクションに追加
stream = Stream("background.png")
imageData = presentation.Images.AppendStream(stream)
stream.Close()

# 画像をスライドの背景として設定
background.Fill.PictureFill.FillType = PictureFillType.Stretch
background.Fill.PictureFill.Picture.EmbedImage = imageData

# 結果を .pptx ファイルとして保存
presentation.SaveToFile("Picturebackground.pptx", FileFormat.Pptx2013)
presentation.Dispose()

Python で PowerPoint スライドに背景画像を設定

PictureFillType.Stretch は画像をスライド全体に引き伸ばして配置します。PictureFillType.Tile に変更すると、画像をタイル状に繰り返し並べる塗り方になります。なお Stretch では、画像の縦横比がスライドと異なると画像が歪みます。既定のスライドサイズ(960 × 540 pt、16:9)に合わせた画像を用意するのが安全です。

スライドマスタに背景を設定する

スライドごとに背景を設定していくのが面倒な場合は、スライドマスタに背景を設定します。スライドマスタはスライドの設計図にあたるもので、同じマスタを使うスライドには背景が自動的に適用されます。設定手順はこれまでと同じで、対象が Presentation.Slides[index] から Presentation.Masters[index] に変わるだけです。

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

# Presentation オブジェクトを作成
presentation = Presentation()

# PowerPoint プレゼンテーションを読み込む
presentation.LoadFromFile("Sample.pptx")

# 最初のスライドマスタを取得
slideMaster = presentation.Masters[0]

# スライドマスタの背景を取得
background = slideMaster.SlideBackground

# 背景の種類をカスタムに設定
background.Type = BackgroundType.Custom

# 背景の塗り方を単色に設定
background.Fill.FillType = FillFormatType.Solid

# 背景色を設定
background.Fill.SolidColor.Color = Color.get_PeachPuff()

# 結果を .pptx ファイルとして保存
presentation.SaveToFile("AddBackgroundToSlideMaster.pptx", FileFormat.Pptx2013)
presentation.Dispose()

Python で PowerPoint スライドマスタに背景を設定

既存のスライドにまとめて背景を適用したい場合は、presentation.Slides をループ処理する方法もあります。

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

# Presentation オブジェクトを作成
presentation = Presentation()

# PowerPoint プレゼンテーションを読み込む
presentation.LoadFromFile("Sample.pptx")

# プレゼンテーション内のスライドをループ処理
for slide in presentation.Slides:
    # スライドの背景を取得
    background = slide.SlideBackground
    # 背景の種類をカスタムに設定
    background.Type = BackgroundType.Custom
    # 背景の塗り方を単色に設定
    background.Fill.FillType = FillFormatType.Solid
    # 背景色を設定
    background.Fill.SolidColor.Color = Color.get_PeachPuff()

# 結果を .pptx ファイルとして保存
presentation.SaveToFile("AllSlidesBackground.pptx", FileFormat.Pptx2013)
presentation.Dispose()

背景の種類と使い分け

どの塗り方を使うかは、スライドの役割で決めると迷いません。

背景の種類 設定に使うプロパティ 向いている用途
単色 SlideBackground.Fill.SolidColor.Color 本文中心のスライド。文字の可読性を最優先したい場合
グラデーション SlideBackground.Fill.Gradient 表紙やセクション区切り。奥行きや動きを出したい場合
画像 SlideBackground.Fill.PictureFill 表紙やブランドスライド。写真・ロゴ・テクスチャを敷きたい場合
スライドマスタ IMasterSlide.SlideBackground プレゼンテーション全体、または社内テンプレートの統一

まとめ

本記事では、Spire.Presentation for Python を使用して Python で PowerPoint スライドの背景色または背景画像を設定する方法 を解説しました。すべてのパターンに共通するのは、SlideBackground.TypeBackgroundType.Custom にしてから SlideBackground.Fill の塗り方を指定する、という流れです。単色なら SlideBackground.Fill.SolidColor.Color、グラデーションなら SlideBackground.Fill.Gradient、画像なら SlideBackground.Fill.PictureFill.Picture.EmbedImage を使い、スライドマスタに適用すればプレゼンテーション全体を一括で変更できます。報告資料の体裁統一、社内テンプレートの適用、スライドの一括生成といった業務の自動化に役立ちます。

Spire.Presentation for Python の全機能を評価したい場合は、30 日間の無料ライセンスを申請できます。

FAQ

背景をテーマ既定の状態に戻すにはどうすればよいですか?

SlideBackground.TypeBackgroundType.Themed に設定し直すと、テーマに定義された既定の背景に復帰します。

すべてのスライドに同じ背景を一度に適用できますか?

はい。presentation.Slides をループ処理して各スライドの SlideBackground に同じ設定を適用するか、スライドマスタに背景を設定します。マスタに設定した方が、後から追加されるスライドにも自動で適用されるため確実です。

背景画像が引き伸ばされて歪んでしまいます。

PictureFillType.Stretch は画像をスライド全体に引き伸ばすため、画像の縦横比がスライドと異なると歪みます。スライドサイズに合わせた画像を用意するか、PictureFillType.Tile でタイル状に配置する方法を検討してください。

スライドごとに異なる背景を設定できますか?

はい。Presentation.Slides[index] でスライドを 1 枚ずつ取得すれば、それぞれに別の背景を設定できます。

グラデーションの色や角度は変更できますか?

はい。GradientStops.AppendByColor(position, color) の位置と色を変えれば配色を、LinearGradientFill.Angle を変えれば角度を調整できます。

Read 4 times