无法更改样式“标题1”的font.name

时间:2019-06-13 20:31:05

标签: python-docx

我正在使用python-docx生成* .docx。无法更改内置样式“标题1”的字体名称。字体仍然是“ Calibri”。其他事情,包括更改字体大小和颜色,都可以正常工作。

import os
from docx import Document


filename = "sample.docx"

doc = Document()
heading_1_style = doc.styles["Heading 1"]
heading_1_style.font.name = "Arial"
doc.add_heading("Heading 1")
doc.save(filename)
os.startfile(filename)

“标题1”的字体名称仍然是Calibri而不是Arial。

已更新:简化的示例代码。

1 个答案:

答案 0 :(得分:0)

首先,使用更简单的脚本重现您看到的行为。这将大大降低问题的复杂性:

document = Document()
heading_1 = document.styles["Heading 1"]
font = heading_1.font
print("original font size is %s pt" % font.size.pt)
font.size = Pt(18)
print("changed font size is %s pt" % font.size.pt)
document.add_heading("A Level-1 Heading")
document.save("sample.docx")

如果这可行,则将问题范围缩小到代码的其他部分。如果不是这样,您将有一个更简单的问题需要解决,尤其是其他人可以轻松为您解决的问题。我建议您尝试一下,看看您发现了什么,然后如果仍然遇到问题,请问另一个问题。