本記事では、Pythonのライブラリであるpython-pptxのshapes.add_tableを使用して、テーブルのテキストの色、大きさ、配置を指定する方法について解説します。
Contents
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.LEFTやPP_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でパワポにエクセルのグラフを追加する
コメント
[…] 関連記事:python-pptxで挿入するテーブルのテキストの色、大きさ、配置を指定する方法 […]
[…] 関連記事:python-pptxで挿入するテーブルのテキストの色、大きさ、配置を指定する方法 […]