2

我正在使用 python-docx 生成 .docx 文件。我希望能够控制要附加到文档正文的段落(以及其中的单个单词,如果可能的话)的样式。

生成段落的业务端是这样的:

body.append(paragraph("这是一个新段落"))

现在,我不熟悉 XML 的复杂性,老实说,学习足够多的知识来使用 lxml 解析和操作它对于我的想法来说太过分了。谁能提供一个简单的例子,比如将我上面段落的字体从默认更改为 Courier New?

这里有几个类似(但未回答)的问题,如果我弄错了,请为违反协议道歉。

4

1 回答 1

4

我认为使用 docx 模块(至少)没有一种一键式超级简单的方法来编辑字体/大小等。幸运的是,使用 lxml 相对容易,并且通过一些戳戳和刺激来基本掌握 xml 格式并不难。

尝试将文件的扩展名从 .docx 更改为 .zip,然后打开 /word/document.xml。那里修改特定文本的元素是 w:pPr(段落属性)和 w:rPr(运行属性)元素的子元素。此链接很好地概述了可用于筛选 document.xml 文件并根据需要添加/删除/编辑的方法。

我还建议查看 docx.py 模块中的“def 段落”功能。有几个直接的例子可以将各种描述性元素附加到段落并在其中运行。

于 2013-07-30T02:35:53.107 回答