如何从djvu和其他电子书格式中提取文本(可能在Python中)

leo*_*on 5 python pdf full-text-search djvu

我有djvu,pdf,chm格式的电子书集合,我正在寻找一种在内容中搜索关键字的方法.我一直在研究并找到解析pdf内容的几个建议,但似乎没有办法将djvu中的内容转换为文本.有任何机会,有没有人知道将djvu内容解码为文本的方法,以便我可以轻松搜索?

谢谢

Ant*_*hon 7

假设djvu文件包含OCR-ed文本,Linux上的一种快速方法就是使用Popen来运行djvutxt并获取输出.

.djvu文件中的文本使用djvu特定的压缩算法bzz进行压缩,没有简单的C接口,您可以将其作为Python中的共享对象加载.它是基于某种框架的C++实现.

无耻的自我推销:我通过这种方式使用OCR-ed 为Calibre做出了贡献.然而,如果不可用,它会回到我的纯python解码器实现(sloooow).因此,如果您无法使用,则可以使用该代码..djvudjvutxtdjvutxtdjvutxt

我还没有从Calibre中单独推出Python源代码.但在下载并解压缩Caliber的来源后:

curl -L http://status.calibre-ebook.com/dist/src | tar xvJ
find . | fgrep djvu
Run Code Online (Sandbox Code Playgroud)

相关文件是djvu_input.py,djvu.pydjvubzzdec.py


Ale*_*lli 3

python-djvulibre是一组到djvu 的djvulibre开源实现的 Python 绑定——我还没有尝试过,但看起来它应该可以满足您的需求。