djvu、pdf、chm 形式の電子ブックのコレクションがあり、コンテンツ内のキーワードを検索する方法を探しています。私は調査を行っており、pdf コンテンツを解析するためのいくつかの提案を見つけましたが、djvu のコンテンツをテキストに変換する方法はないようです。ひょっとして、簡単に検索できるように djvu コンテンツをテキストにデコードする方法を知っている人はいますか?
ありがとう
djvu、pdf、chm 形式の電子ブックのコレクションがあり、コンテンツ内のキーワードを検索する方法を探しています。私は調査を行っており、pdf コンテンツを解析するためのいくつかの提案を見つけましたが、djvu のコンテンツをテキストに変換する方法はないようです。ひょっとして、簡単に検索できるように djvu コンテンツをテキストにデコードする方法を知っている人はいますか?
ありがとう
djvu ファイルに OCR 処理されたテキストが含まれていると仮定すると、Linux でそれを取得するための迅速な方法は、Popen を使用して実行djvutxt
し、出力を取得することです。
.djvu
ファイル内のテキストは、djvu
特定の圧縮アルゴリズム で圧縮されますbzz
。このため、Python で共有オブジェクトとしてロードできる単純な C インターフェイスは存在しません。これは、いくつかのフレームワークに基づく C++ 実装です。
恥知らずな自己宣伝: このように使用するOCR-ed からの変換をCalibreに貢献しました。ただし、使用できない場合は、純粋な python デコーダーの実装 (sloooow) にフォールバックします。したがって、使用できない場合はそのコードを使用できます。.djvu
djvutxt
djvutxt
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
python-djvulibreは、djvu のdjvulibreオープン ソース実装への Python バインディングのセットです。試したことはありませんが、ニーズを満たすはずです。
確かに、DjVuLibre SDK はテキスト レイヤーへのアクセスを許可します (存在する場合) (すべての DjVu ファイルにテキスト レイヤーがあるわけではありません。多くは純粋なラスター イメージです)。
別の解決策は、IIS テクノロジに基づいてインデックスを作成することです。CamiNova には、これに使用できる無料の IFilter があります。