使用 Python-pptx 居中对齐文本

Pyt*_*906 7 python powerpoint python-pptx

简而言之:是否可以在 Python-pptx 中将文本与中心对齐?

自从我使用 Python-pptx 以来,我已经能够自动化很多事情,我真的很喜欢使用它!但是,我遇到了一个问题。我试图在幻灯片上水平居中我的文本。如果你不明白我的意思:

看看前两段与其他两段有何不同?

我的文本现在向左对齐,类似于前两段中的文本。但是,我希望它们与中心对齐,就像最后两段一样。这是我的代码片段:

left = Cm(3)
top = Cm(2.5)
width = Cm(15)
height = Cm(1)
txBox = slide.shapes.add_textbox(left, top, width, height)
tf = txBox.text_frame
p = tf.add_paragraph()
run = p.add_run()
run.text = "Just an example"
font = run.font
font.size = Pt(30)
Run Code Online (Sandbox Code Playgroud)

我查看了文档,但找不到任何有用的东西。我读了一些关于“MSO_VERTICAL_ANCHOR”和“PP_PARAGRAPH_ALIGNMENT”的内容,但我无法让它工作。

先感谢您!

Har*_*son 9

from pptx.enum.text import PP_ALIGN

shape.paragraphs[0].alignment = PP_ALIGN.CENTER
Run Code Online (Sandbox Code Playgroud)

这直接取自Python pptx Docs。这不适合你吗?你在你的问题中说你听说过PP_PARAGRAPH_ALIGNMENT但不能让它工作。出现了哪些问题?

您可以在此处查看有关 Python pptx 对齐的更多信息。

在我下面评论的 Scanny 添加了一个很好的观点,可以解决您的问题:

段落对齐(也称为对齐)是段落的一个属性,必须单独应用于每个段落。在您包含在问题中的代码中,如果您添加一行,p.alignment = PP_ALIGN.CENTER您应该会得到您想要的。

  • @PythonPupil1906 - 哈里森说得很对。段落对齐(也称为*对齐*)是段落的一个属性,必须单独应用于每个段落。在您的问题中包含的代码中,如果您添加一行 `p.alignment = PP_ALIGN.CENTER`,您应该得到您想要的。不要忘记接受哈里森的答案作为“正确”的答案。这就是我们在这里回答问题而获得“报酬”的方式 :) 此外,一般来说,您应该包含您尝试过但似乎不起作用的确切代码。 (3认同)