我试图使用python自动化pdf- to -docx的过程。如果我用MS Word打开PDF文件,pdf Reflow将自动打开。因此,我将其用作OCR工具。我已经使用word_app.DisplayAlerts=0和try-except从Word中取消了消息框。但是,有时仍会弹出消息框"Microsoft PDF Reflow已停止工作“。
现在我应该手动关闭这些消息框,这对于自动化过程来说是不合理的。有什么方法可以抑制PDF回流中的错误吗?
下面是我使用的代码:
import pythoncom
import win32com
from win32com.client import Dispatch, constants
#import logging
word_app = win32com.client.gencache.EnsureDispatch("Word.Application")
word_app.Visible = 0
word_app.DisplayAlerts = 0
wc = win32com.client.constants
try:
word_doc = word_app.Documents.Open('file.pdf')
except pythoncom.com_error as e:
print(e)
#logger.info(e)
word_doc.SaveAs(FileName = 'file.docx', FileFormat = wc.wdFormatXMLDocument)
word_doc.Close(SaveChanges = wc.wdDoNotSaveChanges)
word_app.Quit()谢谢你的帮助!
发布于 2018-12-10 14:26:09
我自己找到了答案:
import win32com
shell_app = win32com.client.Dispatch('WScript.Shell')
RegKey = r'HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting'
GetKeyValue = shell_app.RegRead(os.path.join(RegKey, "DontShowUI"))
EditKeyValue = shell_app.RegWrite(os.path.join(RegKey, "DontShowUI"), 1, "REG_DWORD")
##use this to restore your registry
RestoreKeyValue = shell_app.RegWrite(os.path.join(RegKey, "DontShowUI"), GetKeyValue, "REG_DWORD")使用此代码时要小心,因为它会编辑注册表并可能损坏您的计算机。
此代码不是理想的解决方案,因为它不仅会抑制PDF Reflow的错误报告,而且会抑制所有错误报告。
https://stackoverflow.com/questions/53535280
复制相似问题