You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python将Word转PDF时如何解决'Call was rejected by callee'错误

问题分析与解决方法

代码本身的基础错误

你的代码存在两个明显的逻辑问题,是运行异常的前提:

  1. 变量定义顺序颠倒:input_file和output_file在调用转换逻辑后才定义,导致执行Documents.Open时变量未赋值
  2. 未定义doc_to_pdf函数:代码末尾直接调用了这个不存在的函数

COM错误(-2147418111)的原因与解决

这个错误本质是Word进程拒绝了COM调用,通常由以下情况导致:

  • 后台有未关闭的Word进程,占用了COM接口
  • Word弹出安全提示(如宏警告、文件格式兼容提示),阻塞了调用
  • 脚本没有足够权限访问Word或目标文件路径
  • Word未激活,后台弹出激活窗口

具体解决步骤

  • 关闭所有Word进程:打开任务管理器,找到WINWORD.EXE进程全部结束后再运行脚本
  • 修正代码逻辑:调整变量顺序,直接执行转换逻辑,示例代码如下:
import comtypes.client

# 先定义文件路径
input_file = "C:\\input.docx"
output_file = "C:\\output.pdf"

# 创建Word实例,开启可见模式可排查弹窗问题
word = comtypes.client.CreateObject('Word.Application')
word.Visible = True

try:
    doc = word.Documents.Open(input_file)
    # FileFormat=17对应PDF格式
    doc.SaveAs(output_file, FileFormat=17)
finally:
    doc.Close()
    word.Quit()
  • 以管理员身份运行脚本:右键点击Python脚本或终端,选择“以管理员身份运行”
  • 检查Word状态:确保Word已激活,手动打开Word确认没有激活提示、安全警告等弹窗
  • 验证文件权限:确认输入文件存在,输出文件夹有写入权限,路径尽量避免特殊字符或中文(若有问题可尝试纯英文路径)

内容的提问来源于stack exchange,提问作者robster123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 03:21:03