在koreader上使用OCR

28 2.1~2.7 分钟 934

koreader被誉为看pdf的神器,因为它有针对pdf的优化。

一般我不看pdf的书,真要看都是在平板上,但是今天看的一本书只有pdf版且只有扫描版,于是我想起了koreader。

koreader看pdf的两种情况

  1. 在阅读菜单里有个重排,这个是针对文字版的,如果是文字版的pdf它可以将内容进行重排以适应屏幕大小,但是如果是扫描版的pdf文件也可以,但效果比较差,我猜测它是将文字“裁剪”成图片然后拼起来。

  2. 如果是扫描版的pdf文件,最好是阅读菜单里打开OCR,再打开重排,效果会好很多。

可问题是新安装的koreader OCR这个菜单是无效的,无法打开。

看了官方文档才知道,OCR的语言默认是没有安装的,需要自行安装,支持的是Tesseract这个项目。但是要下载什么内容刚开始我也完全没搞清楚。

在koreader上安装Tesseract语言

  1. 首先到Tesseract的GitHub主页,这里可以看到他们有很多项目,往下拉,可以看到 tessdata_fasttessdatatessdata_best 这几个文件夹,我猜测对应的是数据大小的区别,我在我的kobo sage上下载的是tessdata_best 文件夹里的数据,使用起来也挺快。

  2. 在这三个文件夹中找到需要OCR的对应的语言的文件,例如简体中文就是chi_sim.traineddata ,将这个文件下载下来。

  3. 将设备连接电脑,找到koreader安装目录,将上述文件拷贝到koreader/data/tessdata 这个文件夹里,这个文件夹是安装完koreader就有的不用自己创建。

  4. 然后在koreader的安装目录下找到koreader/defaults.custom.lua 这个文件,用文本编辑器打开,添加语言的设置,如果有多个语言文件就用逗号隔开。完成后退出设备,这时候如果没问题的话就可以在阅读菜单里打开OCR并设置需要扫描的语言了。

DKOPTREADER_CONFIG_DOC_LANGS_CODE = {"chi_sim"}    -- language code, make sure you have corresponding training data