Python实现PDF转DOCX时,如何自动点击Word弹窗的确定按钮?
解决PDF转DOCX时Word弹窗自动确认的问题
你可以通过设置Word应用的DisplayAlerts属性直接禁用弹窗,无需模拟点击按钮,这种方法更稳定可靠:
修改后的代码如下:
import win32com.client # 初始化Word应用 word = win32com.client.Dispatch("Word.Application") word.Visible = 1 # 禁用所有提示弹窗(0对应wdAlertsNone常量) word.DisplayAlerts = 0 pdfdoc = 'NewDoc.pdf' todocx = 'NewDoc.docx' wb1 = word.Documents.Open(pdfdoc) wb1.SaveAs(todocx, FileFormat=16) # 16是docx格式对应的文件格式代码 wb1.Close() word.Quit()
补充方案:模拟点击弹窗按钮
如果上述方法无效,也可以用pyautogui库模拟点击"确定"按钮,步骤如下:
- 先安装依赖:
pip install pyautogui - 修改代码,在打开PDF后等待弹窗出现并执行点击:
import win32com.client import pyautogui import time word = win32com.client.Dispatch("Word.Application") word.Visible = 1 pdfdoc = 'NewDoc.pdf' todocx = 'NewDoc.docx' # 打开PDF触发弹窗 wb1 = word.Documents.Open(pdfdoc) # 等待弹窗加载完成 time.sleep(1) # 模拟点击弹窗的"确定"按钮(若弹窗显示英文则改为"OK") pyautogui.click(text="确定") wb1.SaveAs(todocx, FileFormat=16) wb1.Close() word.Quit()
注意:pyautogui的文本定位功能需要额外安装
pygetwindow和pytesseract,如果嫌麻烦,也可以手动获取按钮坐标后用pyautogui.click(x=xxx, y=xxx)精准点击。
内容的提问来源于stack exchange,提问作者Frank Tap
相关产品推荐
相关产品推荐

