下記のサイトがワードを青空文庫形式に変換するツール。
ファイル選択からDOCXファイルを選択すると、青空文庫形式でテキストエリアに表示される。HTMLを選ぶとDOCXをHTMLに変換したものが表示される。
下の青空文庫ZIP作成ボタンは画像ファイルとテキストまとめたZIPを生成する。ZIPファイルを生成するときに、表題と著者名が必要なので読み取ってからファイルを作る。
現状の問題点はルビに対応していないので、ワードのマクロでルビを青空文庫に変換する必要がある。また対応しているワードの機能は下のもの。
- 見出し1,2,3
- 太字
- 斜体
- 取り消し線
- 上付き文字
- 下付き文字
- 画像
生成した青空文庫形式のファイルはAozoraEpub3でEPUBに変換することができる。もう少し精度よくできれば、AozoraEpub3にそういう機能を入れてみるのもいいかもしれない。
前の続き。docxからhtmlには変換できたが、そこからbody要素ない順番に読み取って、テキストに変換していく。
domパースしたHTMLをdocに入れて、
body=doc.getElementsByTagName('body')[0].childNodesでbody要素を取得。
body.lengthの分だけ順番に読み取っていく。ただし、子要素はさらに子要素を持っている場合がある。木構造は再帰関数を使うといいとどっかで聞いた。