Tesseract 4.0.0生成可搜索PDF失败问题求助
你遇到的这个can't open file "\Program Files\...//pdf.ttf"报错,本质是Windows系统下Tesseract的路径解析混乱导致的——混合的\和//分隔符让程序找不到生成PDF必需的字体文件,进而导致生成的PDF损坏无法打开。给你几个针对性的解决步骤:
先确认字体文件是否存在
找到你的Tesseract安装目录(默认一般是C:\Program Files\Tesseract-OCR),进入tessdata文件夹,检查里面有没有pdf.ttf文件。如果没有,要么是安装时没勾选完整组件,要么是文件丢失了,这种情况建议卸载后重新安装Tesseract,安装时务必勾选所有tessdata相关的选项。手动设置环境变量修正路径
Windows下Tesseract经常会搞错tessdata的路径,你可以先在命令行里指定正确的路径,再执行生成命令:set TESSDATA_PREFIX=C:\Program Files\Tesseract-OCR\tessdata tesseract input.jpg output pdf注意把路径换成你实际的Tesseract安装路径,全程用
\作为路径分隔符,避免混合符号。先验证基础OCR功能是否正常
先跳过PDF输出,测试核心OCR功能:执行tesseract input.jpg output,如果能成功生成output.txt文件,说明Tesseract的识别功能没问题,问题就集中在PDF输出的字体配置上;如果文本也生成失败,那大概率是Tesseract安装不完整,需要重新安装。强制指定字体文件路径
如果设置环境变量后还是不行,可以直接在命令里指定字体的绝对路径,绕开路径解析问题:tesseract input.jpg output pdf --pdf-font-name "C:\Program Files\Tesseract-OCR\tessdata\pdf.ttf"
你已经测试了多种图片格式都无效,说明问题根本不在图片本身,就是PDF生成环节的字体路径配置出错,按照上面的步骤排查应该能解决。
内容的提问来源于stack exchange,提问作者F.Lin

