python-3.x - 特定段落的 Python Docx 行距
问题描述
浏览了文档后,我试图弄清楚如何将行距应用于单个段落,但似乎任何行距只能使用样式在全局范围内完成。有没有办法隔离特定段落,同时让文档的其余部分保持正常?像这样:
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 问题。)
解决方案
行间距在此处的文档中进行了说明:
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
推荐阅读
- vb.net - Vb.net 不按任何特定顺序搜索字符串
- c# - 尝试在 foreach 语句 C# 中跳过一列
- python - 通过最后出现的空间python解析字符串列表
- sql-server - SQL Server:获取和求和最低值
- python - 使用python从mongodb的集合中的特定值?
- mysql - 在sql中将字符添加到字符串
- hive - 将 2 个计数合并为联合表中 hive sql 中的总和
- java - 从 Artifactory 下载文件的 Java 代码不起作用
- angular - 运行 ng serve 时出现 Angular 6 错误 - 发出值而不是错误实例
- testing - 如何在 Flutter 中测试时找到 Widget 的 `text` 属性?