ocrmypdf无法找到tesseract路径,如何在Python的ocr()函数中指定路径?
解决ocrmypdf无法找到Tesseract路径的问题
以下是几种快速解决方法,直接在Python代码中指定Tesseract路径:
方法1:调用ocrmypdf.ocr()时直接传入路径参数
ocrmypdf的ocr()函数支持直接通过tesseract_path参数指定Tesseract可执行文件的路径,这是最直接的方式:
import ocrmypdf # 替换为你的Tesseract实际路径 tesseract_exec_path = r"C:\Program Files\Tesseract-OCR\tesseract.exe" # Windows示例 # tesseract_exec_path = "/usr/bin/tesseract" # Linux/macOS示例 # 调用ocr时传入路径参数 ocrmypdf.ocr( input_file="待处理文档.pdf", output_file="OCR后文档.pdf", tesseract_path=tesseract_exec_path )
方法2:通过环境变量全局指定
如果不想在每次调用时重复传参,可以在代码开头设置OCRMYPDF_TESSERACT_PATH环境变量,后续调用ocr()会自动读取这个路径:
import os import ocrmypdf # 设置环境变量 os.environ["OCRMYPDF_TESSERACT_PATH"] = r"C:\Program Files\Tesseract-OCR\tesseract.exe" # 正常调用ocr即可 ocrmypdf.ocr("待处理文档.pdf", "OCR后文档.pdf")
方法3:修改pytesseract的配置(兼容部分场景)
如果ocrmypdf依赖pytesseract的路径配置,可以直接修改pytesseract的tesseract_cmd属性:
import pytesseract import ocrmypdf # 指定Tesseract路径 pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe" # 调用ocr ocrmypdf.ocr("待处理文档.pdf", "OCR后文档.pdf")
注意事项
- 路径必须指向Tesseract可执行文件,而非所在文件夹
- Windows系统建议用原始字符串(
r"")避免转义字符错误 - Linux/macOS需确保路径正确且Tesseract有可执行权限(可通过
chmod +x /usr/bin/tesseract调整)
内容的提问来源于stack exchange,提问作者Challa Poorna chandu
相关产品推荐
相关产品推荐

