使用OcrMyPdf转换扫描PDF为可编辑PDF:tesseract与configparser问题
解决OcrMyPdf扫描PDF转换的依赖问题
问题根源
你装错了tesseract包!当前安装的tesseract 0.1.3是一个用于天体物理N体模拟的Python库,和OcrMyPdf需要的OCR引擎完全无关。这个包基于Python2开发,所以才会出现print缺括号、找不到ConfigParser(Python3中已改名为configparser)这类版本兼容错误。
正确修复步骤
卸载错误的tesseract包
打开命令提示符执行:pip uninstall tesseract彻底移除这个不相关的库。
安装官方Tesseract OCR引擎
OcrMyPdf依赖的是独立的Tesseract OCR引擎(不是Python包):- 下载适配Windows的Tesseract安装程序,安装时务必勾选“添加到系统PATH”选项;
- 安装完成后,在命令提示符输入
tesseract --version,能正常输出版本信息就说明引擎安装成功。
修改Python代码
OcrMyPdf不需要导入tesseractPython包,直接删掉这行导入即可,修改后的代码:import ocrmypdf if __name__ == '__main__': file_path = r'C:\Users\...\Desktop\Test.pdf' save_path = r'C:\Users\...\Desktop\Test_ocr.pdf' ocrmypdf.ocr(file_path, save_path, deskew=True)处理PATH未配置的情况
如果运行代码时仍提示找不到Tesseract,可以手动指定引擎路径:import ocrmypdf if __name__ == '__main__': file_path = r'C:\Users\...\Desktop\Test.pdf' save_path = r'C:\Users\...\Desktop\Test_ocr.pdf' ocrmypdf.ocr( file_path, save_path, deskew=True, tesseract_cmd=r'C:\Program Files\Tesseract-OCR\tesseract.exe' # 替换为你的实际安装路径 )
补充说明
- OcrMyPdf会自动调用系统中的Tesseract引擎,不需要安装同名Python包,这是新手最容易踩的坑;
- 你的OcrMyPdf 16.4.1版本和Python3.11.5是兼容的,无需调整版本。
内容的提问来源于stack exchange,提问作者eljamba
相关产品推荐
相关产品推荐

