python-docx - 如何控制字体和其他属性

标签 python python-docx

我正在使用 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/

相关文章:

python - NumPy 数组中不需要的额外维度

python - Eclipse、PyDev 和 Python 配置错误

python - 按一列然后另一列(作为子集)对 numpy 进行排序,同时保留行顺序

Python docx 库文本对齐

Python-如何在新word文件上所需的坐标上添加文本

python - 如何使用 python-docx 添加带有索引的数据框

要列出的 Python 生成器

python - 如何在数据框中一次选择多个值?

python - 在 python 3 中解析 .docx

python - 如何使用 python-docx 添加页面边框