djvuをpdfに変換し、目次を保存するには、どうすればよいですか?
Converting Djvu Pdf
解決:
アップデート: user3124688は、スクリプトdpsprepでこのプロセスをコード化しています 。
私はあなたのために変換を行うツールを知りません。あなたは確かにそれをすることができるはずです、しかしそれは少しの仕事を要するかもしれません。基本的なプロセスの概要を説明します。オープンソースのコマンドラインユーティリティが必要ですpdftkと
djvused(DjVuLibreの一部)。これらは、パッケージマネージャー(GNU / Linux)またはそのWebサイト(Windows、OS X)から入手できます。
ステップ1:ファイルテキストを変換する
まず、任意のツールを使用して、DJVUファイルをPDF(ブックマークなし)に変換します。
ファイルが呼び出されたとします
filename.djvuおよび
filename.pdf。
ステップ2:DJVUアウトラインを抽出する
次に、DJVUアウトラインデータを次のようにファイルに出力します。
djvused'filename.djvu '-e'print-outline'> bmarks.out
これは、DJVUドキュメントのブックマークをシリアル化されたツリー形式でリストしたファイルです。実際、これは単なるSEXPRであり、簡単に解析できます。形式は次のとおりです。
ファイル:: =(ブックマーク*)ブックマーク:: =(名前ページ*)名前:: = '*'ページ:: = '#+'
例えば:
(ブックマーク( 'bmark1' '#1')( 'bmark2' '#5'( 'bmark2subbmark1' '#6')( 'bmark2subbmark2' '#7'))( 'bmark3' '#9' ...) )。
ステップ3:DJVUアウトラインをPDFメタデータ形式に変換する
次に、これらのブックマークをPDFメタデータに必要な形式に変換する必要があります。このファイルの形式は次のとおりです。
ファイル:: = *エントリ:: =ブックマーク開始ブックマークタイトル:ブックマークレベル:ブックマークページ番号:タイトル:: = *
したがって、この例は次のようになります。
BookingBeginブックマークタイトル:bmark1ブックマークレベル:1ブックマークページ番号:1ブックマーク開始ブックマークタイトル:bmark2ブックマークレベル:1ブックマークページ番号:5ブックマーク開始ブックマークタイトル:bmark2subbmark1ブックマークレベル:2ブックマークページ番号:6ブックマーク開始ブックマークタイトル:bmark2subbmark2ブックマークレベル:2ブックマークページ番号:7ブックマーク開始ブックマークタイトル:bmark3ブックマークレベル:
基本的には、レベルを追跡しながらSEXPRツリーをウォークし、各エントリの名前、ページ番号、レベルを正しい形式で出力するスクリプトを作成するだけです。
ステップ4:PDFメタデータを抽出し、変換されたブックマークに接続します
変換されたリストを取得したら、変換されたPDFファイルからPDFメタデータを出力します。
pdftk'filename.pdf 'dump_data> pdfmetadata.out
次に、ファイルを開いて、次の行で始まる行を見つけます。
ページ数:
変換されたブックマークをこの行の後に挿入します。新しいファイルを次のように保存します
pdfmetadata.in
ステップ5:ブックマーク付きのPDFを作成する
これで、このメタデータを組み込んだ新しいPDFファイルを作成できます。
pdftk'filename.pdf 'update_info'pdfmetadata.in' output out.pdf
ファイル
out.pdfは、DJVUファイルからインポートされたブックマークを含むPDFのコピーである必要があります。
ユーザー@pyrocrasty(ありがとう!)によって与えられた上記の非常に明確なアウトラインに基づいて、OCRされたテキストとブックマーク構造の両方を保持するDJVUからPDFへのコンバーターを実装しました。あなたはここでそれを見つけるかもしれません:
https://github.com/kcroker/dpsprep
OCRデータの謝辞は、Ubuntuフォーラムの@zetahに送られます。