pythonでPowerPointでA4に文字を八分割で中央表示するを作成

順番

📌 全体の目的

  • PowerPoint の A4 サイズスライドを 8つの枠(2列×4行)に分割し、
  • 各枠の中央に「共通伝票」というテキストを大きく表示するテンプレートを作成する。

🔍 各行の説明

PowerPointを操作するためのライブラリの読み込み

  • Presentation: PowerPointファイルを作成・編集するための基本クラス。
  • Inches, Pt: 単位変換用。インチとポイント(フォントサイズ用)を指定できる。
  • PP_ALIGN: テキストの横方向の位置合わせ(中央揃えなど)を指定するため。
  • MSO_ANCHOR: テキストの縦方向の位置合わせ(中央揃えなど)を指定するため。
  • RGBColor:今回は使っていませんが、文字や図形の色を設定したいときに使用します。

PowerPointプレゼンテーションを新規作成

  • 空のプレゼンテーション(スライドなし)を作成。

スライドの用紙サイズをA4に設定(縦向き)

  • A4の縦向きのサイズ(8.27インチ × 11.69インチ)を指定しています。
  • 1インチ = 約2.54cm

スライドを1枚追加(空白レイアウト)

  • slide_layouts[5] は「空白レイアウト」です。何も配置されていない状態。

各テキストボックスに表示するテキスト内容

  • 各区画に表示するテキスト。ここでは「共通伝票」。

レイアウト情報の設定

  • num_sections: 作る区画の数。8つに分けます。
  • sections_per_row: 1行に配置する区画の数(列数)。ここでは2列。

各区画の大きさ(高さと幅)を計算

  • 例えば 8 ÷ 2 = 4 行になるので、スライドの高さを4で割って1区画の高さを出しています。
  • スライドの幅を2で割って1区画の横幅(幅)を計算。

各区画にテキストボックスを配置

  • i は0~7までのループで、区画の番号。
  • row, col を使って行列を算出。
  • 例:i=3 のとき → row=1, col=1(2行目の右側)

テキストボックスの配置場所(x, y)を計算

  • 左上基準で、xとyの位置を決める。

テキストボックスを作成し、縦・横中央揃え+テキスト書式を設定

  • add_textbox() で指定した位置とサイズにテキストボックスを追加。
  • .vertical_anchor = MSO_ANCHOR.MIDDLE:テキストを縦方向で中央揃え

  • テキストの段落(paragraph)を取り出し、
  • .alignment = PP_ALIGN.CENTER横方向の中央揃え

  • run は文字のスタイル設定(太字・フォントサイズなど)を担当。
  • テキストを設定し、フォントサイズ48ptかつ太字にしています。

PowerPointファイルとして保存

  • shared_voucher_template_centered.pptx というファイル名で保存。

確認用の終了メッセージ

  • 実行後に「OK」と表示し、input() でEnterキー待ちにしてウィンドウがすぐ閉じないようにしています。

✅ 実行結果イメージ

  • 1ページのA4スライドに、2列×4行の計8個のボックス
  • 各ボックスのど真ん中に「共通伝票」と表示。
  • 印刷して切り分けて使うことも可能。

おすすめの記事