python - 如何使用 python-docx 将样式应用于段落?

标签 python docx python-docx

我正在尝试使用 python-docx 模块将样式应用于文档中的段落。我可以写新的文本,但我不能对以前写的段落应用不同的样式。

这是一个例子:

x = docx.Document('Sample.docx')

x
Out[81]: <docx.api.Document at 0x121cebed0>

x.paragraphs[2].style
Out[82]: 'Normal'

x.paragraphs[2].style = 'Title'

x.paragraphs[2].style
Out[84]: 'Normal'

我无法从文档中判断这是否可行。似乎表明段落样式是可写的,但文档中没有这种用例的示例。

请告诉我这是否是我的问题,或者该功能是否尚未实现。

最佳答案

支持这些调用。我必须仔细查看 Sample.docx 才能进行故障排除。

如果你一步一步来打印结果,你会得到什么?

喜欢:

>>> document = Document('Sample.docx')
>>> document
<docx.api.Document at 0x121cebed0>  # this looks good so far
>>> paragraphs = document.paragraphs
>>> paragraphs
???
>>> paragraph = paragraphs[2]
>>> paragraph
???
>>> paragraph.style = 'Title'
>>> paragraph.style
???

此外,获得正确的样式名称有时也是一个技巧。我不知道这会如何导致您所看到的行为,但可能值得研究。您确定 Sample.docx 中有可用的样式“标题”吗?

关于python - 如何使用 python-docx 将样式应用于段落?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22979161/

相关文章:

java - 如何使用 docx4j 将 docx 导出为 png?

python - docx中的Text-Replace并用python-docx保存更改后的文件

python - 在 Python 中生成 PDF 文档的 FLOSS/免费解决方案?

python - Earley 解析器递归

full-text-search - 在 FileTable 中的 Docx 文件上创建全文索引

python - 从 Python-Docx 中的单元格中删除段落

python - 如何使用 python-docx 将存储在数据库中的二进制图像插入到 word 文档中?

python - 用户在自定义模块中编辑 many2one 字段时出现 AccessError

python - 运行代码时在 Pycharm 中找不到目录

java - 关于JAVA中使用SAX解析XML的问题