5


1

私はdjvu、pdf、chmフォーマットの電子ブックのコレクションを持っています、そして私はコンテンツの中のキーワードを検索する方法を探しています。 私は研究していて、pdfコンテンツを解析するためのカップルの提案を見つけましたが、djvuのコンテンツをテキストに変換する方法はないようです。 万が一、誰かが私が簡単に検索できるようにdjvuコンテンツをテキストにデコードする方法を知っていますか?

ありがとう

3 Answer


7


djvuファイルにOCRされたテキストが含まれていると仮定すると、Linuxでこれを解決するための最も簡単な方法は、Popenを使用して `djvutxt`を実行して出力を取得することです。

.djvu`ファイルのテキストは djvu`特有の圧縮アルゴリズム、 `bzz`で圧縮されています。そのため、Pythonの共有オブジェクトとしてロードできる単純なCインタフェースは存在しません。 それはいくつかのフレームワークに基づくCの実装です。

恥知らずな自己宣伝:私は Calibreにこのように djvutxt`を使ったOCR-ed .djvu`からの変換に貢献しました。 *しかし、 `djvutxt`が利用できない場合、私の純粋なPythonデコーダ実装(sloooow)にフォールバックします。 ですから、 `djvutxt`を使えなければ、そのコードを使うことができます。

私はまだPythonソースをCalibreから別に出していません。 しかし、Calibreのソースをダウンロードして解凍した後:

curl -L http://status.calibre-ebook.com/dist/src |検索します。 | fgrep djvu

関連ファイルは djvu_input.py、` djvu.py`そして `djvubzzdec.py`です


3


http://jwilk.net/software/python-djvulibre.html[python-djvulibre]はhttp://djvu.sourceforge.net/[djvulibre]オープンソースのdjvu実装へのPythonバインディングのセットです - 私は持っています試してはいけませんが、あなたのニーズを満たすはずのようです。


1


確かにDjVuLibre SDKはテキストレイヤーへのアクセスを許可します - もしあれば(全てのDjVuファイルがテキストレイヤーを持っているわけではありません。多くは純粋にラスターイメージです)

代わりの解決策は、IISテクノロジに基づいてインデックスを作成することです。 CamiNovaには、これに使用できる無料のIFilterがあります。