いくつかのオンラインツールとオフラインツールを試しましたが、変換中に目次(TOC)情報が保持されませんでした。
単語をすばやく見つけるために階層的に構造化された約5000のTOCエントリを持つdjvu形式の5000ページのフィンランド語辞書を変換したいと思います。
DJVUからPDFへの変換)中にTOC情報を保存する方法はありますか?
update:ser3124688 コード化されましたスクリプト内のこのプロセス dpsprep。
私はあなたのために変換を行うツールを知りません。あなたは確かにそれをすることができるはずです、しかしそれは少しの仕事を要するかもしれません。基本的なプロセスの概要を説明します。オープンソースのコマンドラインユーティリティ pdftk
および djvused
(DjVuLibreの一部)が必要です。これらは、パッケージマネージャー(GNU/Linux)またはそのWebサイト(Windows、OS X)から入手できます。
まず、任意のツールを使用して、DJVUファイルをPDF(ブックマークなし)に変換します。
ファイルの名前がfilename.djvu
およびfilename.pdf
であるとします。
次に、DJVUアウトラインデータを次のようにファイルに出力します。
djvused "filename.djvu" -e 'print-outline' > bmarks.out
これは、DJVUドキュメントのブックマークをシリアル化されたツリー形式でリストしたファイルです。実際、これは単なる [〜#〜] sexpr [〜#〜] であり、簡単に解析できます。形式は次のとおりです。
file ::= (bookmarks
<bookmark>*)
bookmark ::= (name
page
<bookmark>*)
name ::= "<character>*"
page ::= "#<digit>+"
例えば:
(bookmarks
("bmark1"
"#1")
("bmark2"
"#5"
("bmark2subbmark1"
"#6")
("bmark2subbmark2"
"#7"))
("bmark3"
"#9"
...))
次に、これらのブックマークをPDFメタデータに必要な形式に変換する必要があります。このファイルの形式は次のとおりです。
file ::= <entry>*
entry ::= BookmarkBegin
BookmarkTitle: <title>
BookmarkLevel: <number>
BookmarkPageNumber: <number>
title ::= <character>*
したがって、この例は次のようになります。
BookmarkBegin
BookmarkTitle: bmark1
BookmarkLevel: 1
BookmarkPageNumber: 1
BookmarkBegin
BookmarkTitle: bmark2
BookmarkLevel: 1
BookmarkPageNumber: 5
BookmarkBegin
BookmarkTitle: bmark2subbmark1
BookmarkLevel: 2
BookmarkPageNumber: 6
BookmarkBegin
BookmarkTitle: bmark2subbmark2
BookmarkLevel: 2
BookmarkPageNumber: 7
BookmarkBegin
BookmarkTitle: bmark3
BookmarkLevel: 1
BookmarkPageNumber: 9
基本的には、SEXPRツリーをウォークし、レベルを追跡し、各エントリの名前、ページ番号、およびレベルを正しい形式で出力するスクリプトを作成するだけです。
変換されたリストを取得したら、変換されたPDFファイルからPDFメタデータを出力します:
pdftk "filename.pdf" dump_data > pdfmetadata.out
ここで、ファイルを開き、次の行で始まる行を見つけます。NumberOfPages:
変換されたブックマークをこの行の後に挿入します。新しいファイルをpdfmetadata.in
として保存します
これで、このメタデータを組み込んだ新しい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に送られます。