Word のファイル(.docx)を HTML や Markdown や reST や AsciiDoc に変換する

結論

標題の内容を実現するにはもちろん Pandoc を使います。「Word のファイルから」変換する例がなかなか見つからなかったのですが*1、Pandoc の入力ファイルとして .docx を指定すれば普通に変換できます*2

Pandoc のインストール

Pandoc はパッケージでインストールできます。よい時代です。

$ sudo apt-get install pandoc

Wordファイル から他のフォーマットへ変換する

.docx ファイルをたとえば Markdown に変換する場合は次のように実行します。拡張子でフォーマットを判断してくれるので、最低限の場合だと以下の内容で OK です。

$ pandoc your_word_file.docx -o your_markdown_file.md

Wordファイル に画像を含む場合

Word のファイルに画像が含まれている場合は一工夫が必要です。画像を抜き出さなければいけません。

方法は簡単で、実は .docx は zip に他ならないので*3、アーカイバにかけて word/media 配下の画像を抜き出します*4。あとは Pandoc で変換された内容を見て、相対ディレクトリで適切な位置に画像ファイルを置けば大丈夫です。

その他のオプションもある

公式ドキュメント を見るとわかるように山ほどオプションがあります。Pandoc だけでドキュメントのフォーマット変換はほぼ完結するかと思います。

GitBookSphinx に渡すための中継としても便利ですね。

*1:逆はよく見つかる

*2:.doc は .docx に変換してからでないとダメ

*3:中身を覗くとわかります

*4:もちろんこれは .docx から画像を抽出する方法として一般的に用いることができます

Powered by はてなブログ