10

djvu、pdf、chm 形式の電子ブックのコレクションがあり、コンテンツ内のキーワードを検索する方法を探しています。私は調査を行っており、pdf コンテンツを解析するためのいくつかの提案を見つけましたが、djvu のコンテンツをテキストに変換する方法はないようです。ひょっとして、簡単に検索できるように djvu コンテンツをテキストにデコードする方法を知っている人はいますか?

ありがとう

4

3 に答える 3

9

djvu ファイルに OCR 処理されたテキストが含まれていると仮定すると、Linux でそれを取得するための迅速な方法は、Popen を使用して実行djvutxtし、出力を取得することです。

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

恥知らずな自己宣伝: このように使用するOCR-ed からの変換をCalibreに貢献しました。ただし、使用できない場合は、純粋な python デコーダーの実装 (sloooow) にフォールバックします。したがって、使用できない場合はそのコードを使用できます。.djvudjvutxtdjvutxtdjvutxt

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

curl -L http://status.calibre-ebook.com/dist/src | tar xvJ
find . | fgrep djvu

関連するファイルはdjvu_input.pydjvu.pyおよびdjvubzzdec.py

于 2013-03-12T18:28:45.860 に答える
3

python-djvulibreは、djvu のdjvulibreオープン ソース実装への Python バインディングのセットです。試したことはありませんが、ニーズを満たすはずです。

于 2009-10-08T15:39:16.613 に答える
1

確かに、DjVuLibre SDK はテキスト レイヤーへのアクセスを許可します (存在する場合) (すべての DjVu ファイルにテキスト レイヤーがあるわけではありません。多くは純粋なラスター イメージです)。

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

[ http://dev.caminova.jp/beta/djvu-wic/][1]

于 2009-12-11T04:29:44.277 に答える