我有djvu,pdf,chm格式的电子书集合,我正在寻找一种在内容中搜索关键字的方法。我一直在研究并找到解析pdf内容的几个建议,但似乎没有办法将djvu中的内容转换为文本。有任何机会,有没有人知道将djvu内容解码为文本的方法,以便我可以轻松搜索?
由于
答案 0 :(得分:7)
假设djvu文件包含OCR文本,Linux上的一种快速方法就是使用Popen来运行djvutxt
并获取输出。
.djvu
文件中的文本使用djvu
特定压缩算法bzz
进行压缩,其中不存在可以作为Python中的共享对象加载的简单C接口。它是基于某种框架的C ++实现。
无耻的自我推销:我参与了Calibre来自OCR-ed .djvu
的转换,该转换以这种方式使用djvutxt
。 然而,如果djvutxt
不可用,它会回到我的纯python解码器实现(sloooow)。因此,如果您无法使用djvutxt
,则可以使用该代码。
我还没有从Calibre中单独推出Python源代码。但在下载并提取Calibre的源代码后:
curl -L http://status.calibre-ebook.com/dist/src | tar xvJ
find . | fgrep djvu
相关文件为djvu_input.py
,djvu.py
和djvubzzdec.py
答案 1 :(得分:3)
python-djvulibre是一组与djvulibre开源djvu实现的Python绑定 - 我没试过,但看起来它应该满足你的需求。
答案 2 :(得分:1)
当然,DjVuLibre SDK将允许访问文本层 - 如果它存在(并非所有DjVu文件都有文本层;许多都是纯粹的光栅图像)。
另一种解决方案可能是将您的索引建立在IIS技术的基础之上。 CamiNova有一个免费的IFilter,您可以使用它。