python-3.x - 在 * .docx 中使用 python 和 win32com 进行拼写检查 - * .docx 的问题
问题描述
我有一个完全分解的问题。这个方法我来了很久,闻一闻。
我从网站下载文本并检查其拼写。很难用字典(时间和硬件)检查这一点,所以我将所有文本下载到 .txt 文件,然后将其复制到 .docx 文件,它会自动检查 Microsoft Word 的拼写,以红色突出显示错误。
我找到了如何从 python 中的 .docx 文件(库 win32com.client)中获取拼写错误,这很好,我开始编写一个程序来将网页中的文本保存到 .docx 文件并立即测试它的拼写,但在这里我得到一个错误。
# file newfile.docx is a file where i save all text from site
docX = docx.Document()
def imatoohard():
#time.sleep(10)
wordapp = win32com.client.gencache.EnsureDispatch("Word.Application")
worddoc = wordapp.Documents.Open(r"C:\Python\newfile.docx")
print("start as optimist")
time.sleep(1)
if worddoc.SpellingErrors.Count:
print("0x21")
for err in worddoc.SpellingErrors:
print("0x33")
docX.add_paragraph(http_source_str)
worddoc.ActiveWindow.Close()
imatoohard()
这只是一段检查文件拼写的代码(上面),下面是对文件的写入,最简单的方法:
doc1 = docx.Document()
doc1.add_paragraph(some_data_text)
doc1.sve("newfile.docx")
一切都很好,第一个代码检查拼写,第二个代码将文本保存为 docx 文件格式。但是拼写检查器不会检查程序二创建的文件的拼写。
当我打开,键入文本并手动保存时,一切都很好,当我对程序执行相同操作时,docx 文件处于“兼容模式”并且它没有检测或设置语言,我必须使用 Microsoft Word 设置手动翻译,并且只有然后它会检测语言并突出显示拼写错误的单词,然后第一个程序才能工作。
有没有办法做到这一点?我已经坐了这么久,我不知道我是否会放弃。这对我来说非常有用,因为我有一千页(十万字)要检查。有没有人接触过这个?
设置如:
file = open('file1.txt', 'r', encoding='utf8', errors='ignore')
不适用于 .docx 文件
解决方案
推荐阅读
- java - 正则表达式在嵌套引号的情况下选择内引号之间的所有文本
- c# - SearchQuery by Not in Uids MailKit
- amazon-web-services - 无法为 AWS Route 53 上的子域创建 CAA 记录
- angular - Angular 6 HttpClient 响应返回未定义
- html - @font-face 不会在 WordPress 中显示自定义字体
- java - Set 方法在扩展类中找不到符号?
- java - 通过 SharedPreference 更新 ImageView 重新创建活动?
- javascript - 单选按钮选中/取消选中基于另一个单选组选中/取消选中
- php - 有效地从字符串中删除所有数组值,如果数组值是字符串中单词的一部分,则整个单词也必须从字符串中删除
- javascript - JavaScript 权限限制