特定段落的Python Docx行距

时间:2018-11-15 15:32:37

标签: python-3.x python-docx line-spacing

浏览了文档之后,我试图弄清楚如何对单个段落应用行距,但是看来任何行距只能使用样式在全局范围内完成。有没有办法隔离特定段落,而使文档的其余部分保持正常? 像这样:

import docx
from docx.enum.text import WD_LINE_SPACING

text = 'Lorem ipsum...'
doc = Document()
para = doc.add_paragraph('text')
para.line_spacing = WD_LINE_SPACING.ONE_POINT_FIVE

上面的代码当然行不通,我只能猜测是因为line_spacing是样式级别的格式。尝试不进行样式本地化的另一点是文档一旦构建便具有了可移植性,如果您将任何内容从一个文档剪切并粘贴到另一本可能已经通过电子邮件发送到另一台计算机的文档中,则可能会恢复为“普通”样式在另一台机器上。可以通过不使用文档级样式来避免这种情况(这是一种讨厌的解决方法,但这是一个单词问题,而不是docx。)

1 个答案:

答案 0 :(得分:0)

行间距在以下文档中进行了说明:
https://python-docx.readthedocs.io/en/latest/user/text.html#line-spacing

简短的答案是,您需要访问每个段落上的ParagraphFormat对象,并为此使用.line_spacing_rule

paragraph_format = paragraph.paragraph_format
paragraph_format.line_spacing_rule = WD_LINE_SPACING.ONE_POINT_FIVE