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

Windows环境下TesseractNotFoundError报错的解决方法咨询

解决TesseractNotFoundError问题(Windows+Anaconda+Spyder环境)

问题场景

在Windows系统、Anaconda环境下使用Spyder作为IDE,尝试对PDF文件中的图片应用Tesseract-OCR时,触发错误:

TesseractNotFoundError: C:\Users\jsbno\AppData\Local\Programs\Tesseract-OCR未安装或未在PATH中。

用户运行的代码如下:

from pathlib import Path
from PIL import Image
import pytesseract
import typing
from borb.pdf.pdf import PDF
from borb.pdf import Document
from borb.toolkit.ocr.ocr_as_optional_content_group import OCRAsOptionalContentGroup
from borb.toolkit.text.simple_text_extraction import SimpleTextExtraction

pytesseract.pytesseract.tesseract_cmd = r'C:\Users\jsbno\AppData\Local\Programs\Tesseract-OCR'

def apply_ocr_to_document():
    # Set up everything for OCR
    tesseract_data_dir: Path = Path("C:\\Temp")
    assert tesseract_data_dir.exists()
    l: OCRAsOptionalContentGroup = OCRAsOptionalContentGroup(tesseract_data_dir)

    # Read Document
    doc: typing.Optional[Document] = None
    with open("C:\\Temp\\paklijst1.pdf", "rb") as pdf_file_handle:
        doc = PDF.loads(pdf_file_handle, [l])

    assert doc is not None

    # Initialize SimpleTextExtraction with the OCR result
    text_extraction = SimpleTextExtraction(doc)

    # Extract the text from the document
    extracted_text = text_extraction.extract()

    # Print the extracted text
    print(extracted_text)

# Call the function to apply OCR and extract the text
apply_ocr_to_document()

解决方案

  • 修正tesseract_cmd路径
    当前代码指定的是Tesseract的安装文件夹,但pytesseract需要指向可执行文件的完整路径。修改代码中的对应行:

    pytesseract.pytesseract.tesseract_cmd = r'C:\Users\jsbno\AppData\Local\Programs\Tesseract-OCR\tesseract.exe'
    
  • 重启程序验证PATH生效
    环境变量修改后需要重启程序才能生效,关闭所有Spyder和Anaconda终端窗口,重新启动后测试。也可以在Anaconda CMD中执行tesseract --version,若能输出版本信息则PATH配置正确。

  • 检查Tesseract安装完整性
    确认安装路径下存在tesseract.exe和tessdata语言包文件夹,若tessdata缺失,需重新安装Tesseract并勾选语言包选项。

  • 手动配置Spyder的环境变量
    Spyder可能无法自动继承系统PATH的最新修改,可手动添加:

    1. 打开Spyder,进入工具->偏好设置->Python解释器
    2. 找到环境变量选项,点击编辑
    3. 添加C:\Users\jsbno\AppData\Local\Programs\Tesseract-OCR到PATH列表,保存后重启Spyder。
  • 修正borb的OCR数据目录配置
    OCRAsOptionalContentGroup需要指向Tesseract的tessdata目录,而非临时文件夹,修改对应代码:

    tesseract_data_dir: Path = Path(r"C:\Users\jsbno\AppData\Local\Programs\Tesseract-OCR\tessdata")
    assert tesseract_data_dir.exists()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:55:31