フォント は、プレゼンテーション全体の視覚的な魅力と効果を高める上で重要な役割を果たします。フォントを使い分けることで視覚的な階層を確立し、キーポイント、見出し、サブ見出しなどを強調して聴衆の注意を誘導できます。本記事では、Python で Spire.Presentation for Python を使用して PowerPoint ドキュメントのフォントを設定・変更する方法を紹介します。
クイックナビゲーション
1. Spire.Presentation for Python のインストール
このシナリオには Spire.Presentation for Python と plum-dispatch v1.7.4 が必要です。以下の pip コマンドで簡単にインストールできます。
pip install Spire.Presentation
Python スクリプトで必要なモジュールをインポートします。
from spire.presentation.common import *
from spire.presentation import *
または、Spire.Presentation for Python のダウンロードページ から手動でライブラリをダウンロードすることもできます。
1. Python で新しい PowerPoint ドキュメントを作成するときにフォントを設定
Spire.Presentation for Python は Presentation.Slides[].Shapes.AppendShape() メソッドでスライドにシェイプを追加し、IAutoShape.TextFrame.TextRange オブジェクトのプロパティ(LatinFont、IsBold、IsItalic、FontHeight など)でテキストのフォント情報を設定できます。
以下のコードは、テキスト範囲のフォント情報(フォント名、サイズ、太字、斜体、下線、色)を設定する方法を示します。
from spire.presentation.common import *
import math
from spire.presentation import *
# Presentation オブジェクトを作成
presentation = Presentation()
# スライドサイズのタイプを設定
presentation.SlideSize.Type = SlideSizeType.Screen16x9
# スライドにシェイプを追加
rect = RectangleF.FromLTRB(30, 100, 900, 250)
shape = presentation.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, rect)
# シェイプの線色と塗りつぶしタイプを設定
shape.ShapeStyle.LineColor.Color = Color.get_Transparent()
shape.Fill.FillType = FillFormatType.none
# シェイプにテキストを追加
shape.AppendTextFrame("Spire.Presentation for Python は、専門的なプレゼンテーション処理APIであり、"
"PowerPoint と高度に互換性があります。開発者は、Microsoft PowerPoint をインストールせずに、\
PowerPoint プレゼンテーションを効率的に作成・編集・変換・保存できます。")
# シェイプのテキストをテキスト範囲として取得
textRange = shape.TextFrame.TextRange
# フォント名を設定
textRange.LatinFont = TextFont("Mincho")
# フォントスタイルを設定(太字&斜体)
textRange.IsBold = TriState.TTrue
textRange.IsItalic = TriState.TTrue
# 下線タイプを設定
textRange.TextUnderlineType = TextUnderlineType.Single
# フォントサイズを設定
textRange.FontHeight = 22
# 文字色を設定
textRange.Fill.FillType = FillFormatType.Solid
textRange.Fill.SolidColor.Color = Color.get_CadetBlue()
# 配置を設定
textRange.Paragraph.Alignment = TextAlignmentType.Left
# 行間を設定
textRange.LineSpacing = 0.5
# ファイルに保存
presentation.SaveToFile("output/SetFont.pptx", FileFormat.Pptx2019)
presentation.Dispose()

2. Python で既存の PowerPoint ドキュメントのフォントを変更
特定の段落のフォントを変更するには、ドキュメントから段落を取得する必要があります。次に、段落内のテキスト範囲をループ処理し、各テキスト範囲のフォント情報をリセットします。以下では、Python で既存の PowerPoint ドキュメントの段落のフォントを変更する手順を示します。
from spire.presentation.common import *
from spire.presentation import *
# Presentation オブジェクトを作成
presentation = Presentation()
# PowerPoint ファイルを読み込む
presentation.LoadFromFile("output\SetFont.pptx")
# 最初のスライドを取得
slide = presentation.Slides[0]
# スライド上の最初のシェイプを取得
shape = (IAutoShape)(slide.Shapes[0])
# シェイプの最初の段落を取得
paragraph = shape.TextFrame.Paragraphs[0]
# フォント
newFont = TextFont("Yu Gothic UI")
# 段落内のテキスト範囲をループ処理し、フォントを適用
for textRange in paragraph.TextRanges:
# 特定のテキスト範囲にフォントを適用
textRange.LatinFont = newFont
# フォントを斜体に設定
textRange.Format.IsItalic = TTriState.TTrue
# フォントサイズを設定
textRange.FontHeight = 25
# 文字色を設定
textRange.Fill.FillType = FillFormatType.Solid
textRange.Fill.SolidColor.Color = Color.get_Purple()
# ファイルに保存
presentation.SaveToFile("output/presentation_ChangeFont.pptx", FileFormat.Pptx2019)
presentation.Dispose()

まとめ
本記事では、Spire.Presentation for Python を使用して Python で PowerPoint ドキュメントのフォントを設定・変更する方法 を実演しました。新規作成時に Presentation.Slides[].Shapes.AppendShape() メソッドでシェイプを追加し、IAutoShape.TextFrame.TextRange オブジェクトのプロパティ(LatinFont、IsBold、IsItalic、FontHeight、TextUnderlineType、Fill)を使用してフォント名、サイズ、太字、斜体、下線、文字色を設定できます。既存ドキュメントのフォントを変更するには、段落を取得して TextRange.LatinFont や FontHeight などのプロパティをリセットします。これらの機能により、プレゼンテーションの一括フォーマット変更やブランド統一などの自動化シナリオに役立ちます。
評価版の制限を解除したい場合や、機能制限を取り除きたい場合は、30 日間の無料ライセンスを申請できます。
4. FAQ
Spire.Presentation のインストールには Microsoft PowerPoint が必要ですか?
いいえ。Spire.Presentation はスタンドアロンのライブラリであり、Microsoft Office や PowerPoint をインストールする必要はありません。
PowerPoint プレゼンテーションに新しいフォントを追加できますか?
フォント設定はシステムにインストールされているフォントに依存します。Python では、TextFont オブジェクトを作成して TextRange.LatinFont に割り当てます。つまり、使用するフォントがシステムにインストールされていることを確認してください。
フォントデータを置換するプロパティは何ですか?
TextRange.LatinFont、TextRange.FontHeight、TextRange.IsBold などのプロパティでフォントの設定を変更できます。






