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

使用textract进行PDF转文本时出现ShellError错误求助

解决Windows 11下VSCode中textract提取PDF文本失败的问题

问题根源

textract提取PDF文本依赖pdftotext工具,你的系统未安装该工具,或者工具路径未加入系统环境变量,导致执行命令时找不到程序,抛出ShellError和FileNotFoundError。

解决步骤

  • 安装Poppler工具包
    pdftotext是Poppler工具包的一部分,需要先安装Windows版Poppler:

    1. 下载Poppler的Windows预编译稳定版本
    2. 解压到本地任意文件夹,比如C:\Poppler,记住其bin子文件夹的完整路径(如C:\Poppler\bin)
  • 添加到系统环境变量

    1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
    2. 在「系统变量」列表中找到Path变量,点击「编辑」
    3. 点击「新建」,填入刚才的bin文件夹路径,点击「确定」保存
    4. 必须重启VSCode,让新的环境变量生效
  • 验证安装配置
    打开VSCode的终端,输入命令:

    pdftotext --version
    

    如果能正常显示版本信息,说明配置成功。

  • 重新运行代码
    再次执行你的PDF提取代码:

    text = textract.process('sample.pdf')
    

    即可正常提取文本。

备选方案(无需环境变量)

如果不想修改环境变量,可以在代码中直接指定pdftotext的完整路径:

import textract
# 替换成你实际的pdftotext.exe路径
text = textract.process(
    'sample.pdf',
    method='pdftotext',
    cmd=['C:/Poppler/bin/pdftotext.exe', 'sample.pdf', '-']
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:32:09