在python docx中设置段落字体

2024-04-25 17:51:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用PythonDocx0.7.6。

我似乎不知道如何为某个段落设置字体系列和大小。

存在.style属性,但style="Times New Roman"不起作用。

有人能给我举个例子吗?

谢谢。


Tags: new属性style字体例子段落timesroman
2条回答

python docx的文档如下: http://python-docx.readthedocs.org/en/latest/

默认模板中可用的样式如下所示: http://python-docx.readthedocs.org/en/latest/user/styles.html

在上面的例子中,您使用了一个字体名(“Times New Roman”)而不是一个样式id。例如,如果您使用“Heading1”,这将改变字体的外观,因为它是一种段落样式。

目前还没有在python docx中直接将字体名称或字体大小应用到文本的API,尽管下一个版本中可能会在一个月内发布更多的API。同时,可以为所需的段落和字符设置定义样式并应用这些样式。使用样式是在Word中应用格式的推荐方法,类似于CSS是将格式应用于HTML的推荐方法。

在阅读了API documentation之后,我能够找出如何创建自己的样式并应用它。您可以通过改变代码来使用WDYSytLyType。段落来创建段落样式对象。我花了一分钟才弄明白的是对象以及它们在什么级别上被应用,所以请确保您清楚地理解这一点。我发现,与直觉相反的是,您在样式创建后定义了样式属性。

这就是我创建字符级样式对象的方式。

document = Document(path to word document)

创建字符级样式对象(“CommentsStyle”),然后定义其参数

obj_styles = document.styles
obj_charstyle = obj_styles.add_style('CommentsStyle', WD_STYLE_TYPE.CHARACTER)
obj_font = obj_charstyle.font
obj_font.size = Pt(10)
obj_font.name = 'Times New Roman'

这就是我如何将样式应用于跑步。

paragraph.add_run(any string variable, style = 'CommentsStyle').bold = True

相关问题 更多 >

    热门问题