2017-08-14 49 views
3

テキストをTopに設定するにはどうすればいいですか?(TOP標準設定の最初の行があります)TOPアライメントに設定されていませんか?Python pptx - 箇条書きポイントと上揃えの設定方法

Add_paragraph関数は、最初の箇条書きレベル(レベル= 0)をアクティブにしませんでしたか?

誰かがこの問題を解決する方法を知りましたか?あなたの質問には2つの部分があります

# Shape position 
left = Inches(0.4) 
top = Inches(1.5) 
width = Inches(4.5) 
height = Inches(1.6) 

box = shape.add_shape(MSO_SHAPE.RECTANGLE, left, top, width, height) 
text_frame = box.text_frame 
text_frame.clear() # not necessary for newly-created shape 
#Fill 
fill = box.fill 
line = box.line 
fill.solid() 
fill.fore_color.theme_color = MSO_THEME_COLOR.ACCENT_6 
line.color.theme_color = MSO_THEME_COLOR.ACCENT_6 

p = text_frame.add_paragraph() 
run = p.add_run() 
# bullet ? 
#p.level = 0 
# Top position? 
p.vertical_anchor = MSO_ANCHOR.TOP 
p.alignment = PP_ALIGN.LEFT  
p.margin_left = Inches(0.02) 
p.margin_top = Inches(0.00) 
#p.margin_bottom = Inches(0.08) 

run.text = "..." 
# Fonts 
font = run.font 
font.name = 'Arial (Body)' 
font.size = Pt(8) 
font.bold = False 
font.italic = None # cause value to be inherited from theme 
font.color.theme_color = MSO_THEME_COLOR.ACCENT_1 

enter image description here

+0

https://python-pptx.readthedocs.io/en/latest/user/quickstart.html#add-textbox-example – Joe

+1

[こちら](https://github.com/scanny/python-pptx/issues)/100)は、2014年から発行されているため、まだ弾丸を追加する選択肢がないことを示しているようです。 – ikkuh

答えて

1

(左側と右側のゴールの問題を理解するためには画像を参照)。最初の方は簡単です - トップアライメントを設定する方法。図形には、デフォルトの「中央」の垂直方向の配置があるようです。問題のコードでは、個々の段落の垂直アンカーを設定しています。代わりにtext_frameのVertical anchorをMSO_VERTICAL_ANCHOR.TOPに設定してみてください。

text_frame.vertical_anchor = MSO_VERTICAL_ANCHOR.TOP 

弾丸が必要な第2部では、pptxに弾丸のオン/オフを切り替える機能はありません。唯一の方法は、マスタースライドに必要なテキストフォーマットを使用してシェイプを作成し、これを開始ポイントとして使用することです。これは、テンプレート(スライドマスター)を編集することで行うことができます。以下に示すように、たとえば参照してください、あなたは、長方形のテキスト形状を作成することができます - 助け

Shape with Text formating

希望を。

関連する問題