gpt4 book ai didi

python - 使用 Python docx 时如何在输出文档中启用拼写?

转载 作者:太空狗 更新时间:2023-10-29 20:28:04 30 4
gpt4 key购买 nike

我正在使用 Python docx 库生成一个文档,我希望能够打开该文档并在其中查找拼写错误。但是当我打开该文档时,没有任何拼写错误标志(红色小下划线)或确定我是否运行拼写检查。如果我编辑一行或复制、剪切内容并将其粘贴回 word,拼写功能将按预期工作。

有没有办法让输出文档自动显示/识别输出文档中的拼写错误?我玩过“no_proof”标志,但这似乎没有帮助。 (在 Windows 机器上使用 64 位 Python 3.4、docx 8.6,在 Word 2013 中打开输出)

感谢任何想法!

重现代码:

from docx import Document
document = Document()
paragraph = document.add_paragraph('This has a spellling errror')
document.save(r'SpellingTester.docx')

Word 输出:

最佳答案

我会尝试使用 document.settings 对象来包装文档的 lxml 节点元素。正如您从文档中看到的那样,有 hideSpellingErrors 属性。

Python DOCX Settings

<xsd:element name="hideSpellingErrors" type="CT_OnOff" minOccurs="0"/>

编辑:在进一步研究之后,我会尝试这样的事情:

import docx

document = docx.Document()

DOCX = '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}'

element = document.settings.element.find(DOCX + 'proofState')
element.attrib[DOCX + 'grammar'] = 'dirty'
element.attrib[DOCX + 'spelling'] = 'dirty'

document.add_paragraph("This has a spellling errror")
document.save("test.docx")

DOCX 前缀可以改变,但它很容易在 lxml 元素中读取。我现在不知道是否有一种方法可以更直接、更干净地做事,但这对我有用。

关于 docx 中的 proofState 设置的更多信息:

关于python - 使用 Python docx 时如何在输出文档中启用拼写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45819839/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com