Python

python-pptxで挿入するテーブルのテキストの色、大きさ、配置を指定する方法

この記事は約6分で読めます。

 

本記事では、Pythonのライブラリであるpython-pptxのshapes.add_tableを使用して、テーブルのテキストの色、大きさ、配置を指定する方法について解説します。

 

1. python-pptxとは?

 

まずは、python-pptxについて説明します。python-pptxは、PythonからMicrosoft PowerPointファイルを操作するためのライブラリです。このライブラリを使えば、Pythonでプログラミングすることで、PowerPointファイルの自動作成や編集が可能となります。

 

関連記事:【Python】python-pptxでパワポの資料作成を自動化する

 

2. shapes.add_tableメソッドについて

 

shapes.add_tableは、PythonからPowerPointのスライドにテーブルを挿入するための関数です。この関数には、以下の引数を指定することができます。

 

* rows:テーブルの行数
* cols:テーブルの列数
* left:テーブルの左端の位置
* top:テーブルの上端の位置
* width:テーブルの幅
* height:テーブルの高さ

 

また、テーブルに文字列を挿入する場合は、add_tableの戻り値であるtableオブジェクトのcells[x][y].text_frame.textに文字列を代入することができます。

 

2.パワポにテーブルを挿入する

 

テーブルを作成するために、まずはファイルをインポートします。以下のようにコードを書きます。

 

# インポート
from pptx import Presentation
# 新規ファイルの作成
prs = Presentation()
# 新規スライドを追加
title_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_slide_layout)

 

次にこの指定したスライドにテーブルを挿入します

 

from
rows = 2  # 行数
cols = 2 # 列数
left = top = Cm(2)  # 左端と上端
width = Cm(6.0)  # 幅
height = Cm(0.8)  # 縦幅

table = slide.shapes.add_table(
    rows, cols, left, top, width, height
).table

 

3. テーブルテキストの色、大きさ、配置を指定する方法

 

では、具体的にテキストの色、大きさ、配置を指定する方法について説明します。

 

3.1 テキストの色を指定する方法

 

テキストの色を指定するには、以下のコードをadd_tableの後に追加します。

 

for cell in table.iter_cells():
    for paragraph in cell.text_frame.paragraphs:
        for run in paragraph.runs:
            run.font.color.rgb = RGBColor(255, 0, 0)

 

上記のコードでは、テーブル内のすべてのセルのテキストの色を赤色に指定しています。RGBの値を指定することで、好きな色を設定することができます。

 

3.2 テキストの大きさを指定する方法

 

テキストの大きさを指定するには、以下のコードをadd_tableの後に追加します。

 

for cell in table.iter_cells():
    for paragraph in cell.text_frame.paragraphs:
        for run in paragraph.runs:
            run.font.size = Pt(14)

 

上記のコードでは、テーブル内のすべてのセルのテキストの大きさを14ポイントに指定しています。Ptの値を指定することで、好きな大きさを設定することができます。

 

3.3 テキストの配置を指定する方法

 

テキストの配置を指定するには、以下のコードをadd_tableの後に追加します。

 

for cell in table.iter_cells():
    cell.text_frame.paragraphs[0].alignment = PP_ALIGN.CENTER

 

上記のコードでは、テーブル内のすべてのセルのテキストを中央揃えに指定しています。PP_ALIGN.CENTER以外にも、PP_ALIGN.LEFTPP_ALIGN.RIGHTを指定することで、左揃えや右揃えにすることもできます。

 

これらをまとめて記述すると以下のように書けます

for row in range(rows):
    for col in range(cols):
        cell = table.cell(row, col)
        para = cell.text_frame.paragraphs[0]
        para.alignment = PP_ALIGN.CENTER # 中央ぞろえ
        font.color.rgb = RGBColor(0xFF, 0x00, 0x00)  # 文字色
        font.size = Pt(18)  #18に指定

 

3.4 テキストを太字にしてフォント指定

 

テーブル内のテキストのフォントを特定のフォントに変更したり、太字やイタリックを指定したい場合は以下のように記述します。

 

for cell in table.iter_cells():
    for paragraph in cell.text_frame.paragraphs:
        for run in paragraph.runs:
            run.font.name = 'Avenir' # フォント名指定
            run.font.bold = True # 太字
            run.font.italic = True # 斜め

 

参照:https://python-pptx.readthedocs.io/en/latest/user/table.html

 

関連記事:【Python】python-pptxでパワポにエクセルのグラフを追加する

 

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:python-pptxで挿入するテーブルのテキストの色、大きさ、配置を指定する方法 […]

  2. […] 関連記事:python-pptxで挿入するテーブルのテキストの色、大きさ、配置を指定する方法 […]

タイトルとURLをコピーしました