我正在使用 python-docx 生成 .docx 文件。我希望能够控制要附加到文档正文的段落(如果可能的话,以及其中的单个单词)的样式。
生成段落的业务端如下所示:
body.append(paragraph("这是一个新段落"))
现在,我不熟悉 XML 的复杂性,说实话,学习足够多的知识来使用 lxml 解析和操作它对于我的想法来说是大材小用。谁能提供一个简单的示例,例如将上面段落的字体从默认字体更改为 Courier New?
这里有几个类似的(但未回答的)问题,所以如果我弄错了,我对违反协议(protocol)表示歉意。
最佳答案
我认为没有一种一键式 super 简单的方法可以使用 docx 模块编辑字体/大小等(至少目前如此)。幸运的是,使用 lxml 相对容易,并且通过一些尝试来基本掌握 xml 格式也不是太困难。
尝试将文件的扩展名从 .docx 更改为 .zip,然后打开/word/document.xml。修改特定文本的元素是 w:pPr(段落属性)和 w:rPr(运行属性)元素的子元素。 This link很好地概述了可用于筛选 document.xml 文件并根据需要添加/删除/编辑的方法。
我还建议查看 docx.py 模块中的“def paragraph”函数。其中有几个直接示例,将各种描述性元素附加到段落并在其中运行。
关于python-docx - 如何控制字体和其他属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17321751/