使用textract处理PDF文件遇ShellError,退出码127求助
解决Windows10下textract处理PDF的ShellError问题
问题原因
textract处理PDF文件依赖poppler工具中的pdftotext命令,报错ShellError: The command pdftotext ... failed with exit code 127,本质是系统PATH环境变量中找不到pdftotext命令——要么没安装poppler,要么安装后没把它的可执行文件路径加入系统PATH。
解决步骤
- 下载适配Windows的poppler预编译包,选择对应系统位数(32/64位)的稳定版本,解压到固定路径(比如
C:\poppler) - 配置系统环境变量:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量的
Path中添加poppler解压目录下的bin路径(比如C:\poppler\bin) - 重启Python运行环境(命令提示符、VS Code、PyCharm等),让环境变量生效
- 验证配置:打开命令提示符输入
pdftotext -v,能正常显示版本信息即为配置成功 - 重新运行原PDF处理代码,即可正常提取文本
备选方案(无需全局配置PATH)
如果不想修改系统PATH,可以在代码中直接指定poppler的bin目录路径:
import textract path = r'C:\Users\Python_files\accounts.pdf' text = textract.process( path, method='pdftotext', path_to_poppler=r'C:\poppler\bin' # 替换为你的poppler bin路径 )
内容的提问来源于stack exchange,提问作者Yukthi Bhat
相关产品推荐
相关产品推荐

