「python pptx 文字 中央揃え」
という検索キーワードでのアクセスに気が付きました。
ptyhon-pptxを使って、文字列を中央揃えにするにはどのようなコードを書けばいいのかを探してた方による検索です。
テキストボックス中央に文字列を配置するサンプルスクリプト
以下のスクリプトが参考になるでしょう。
from pptx.util import Pt
from pptx.enum.text import PP_ALIGN
from pptx.enum.text import MSO_ANCHOR
prs = pptx.Presentation()
layout_blank = prs.slide_layouts[6]
sld = prs.slides.add_slide(layout_blank)
shp = sld.shapes.add_textbox(0, 0, Pt(200), Pt(100))
shp.text = '文字列のサンプル'
tfrm = shp.text_frame
tfrm.paragraphs[0].alignment = PP_ALIGN.CENTER
tfrm.vertical_anchor = MSO_ANCHOR.MIDDLE
「文字列のサンプル」という文字が中央に表示されたテキストボックスの存在する、白紙レイアウトのスライドが1枚存在するsample_centering.pptxファイルが、Cドライブtempフォルダーに作成されます。
文字列を中央に配置する処理
水平方向の文字列配置は、TextFrameオブジェクトの子オブジェクトである_Paragraphオブジェクトのalignmentで設定できます。
tfrm = shp.text_frame
tfrm.paragraphs[0].alignment = PP_ALIGN.CENTER
from pptx.enum.text import PP_ALIGN
shape.paragraphs[0].alignment = PP_ALIGN.CENTER
「AttributeError: 'Shape' object has no attribute 'paragraphs'」エラーが発生します。
垂直方向の配置設定はTextFrameオブジェクトのvertical_anchorです。
tfrm.vertical_anchor = MSO_ANCHOR.MIDDLE
- Newer:python-docxでWordファイルを読み込み段落と改行を確認する
- Older:CreateObject("PowerPoint.Application")の戻り値をローカルウィンドウで確認しましょう
Home » Python » python-pptxの使い方 » python-pptxで文字列を中央揃えに