markdownで書いたメモをGoogleドキュメントで編集したかったので、markdownファイルからdocxファイルへの変換方法を調べました。
結論
Pandocを使うことでmarkdownファイルからdocxファイルに変換できる。
Pandocとは?
.md
から.docx
等のドキュメントに変換できるソフトウェア。
また、逆に.docx
から.md
に変換する事も可能です。
他にも.pdf
などの様々なデータ形式に対応しているようです。
jgm/pandoc: Universal markup converter
pandoc-jp/pandoc-doc-ja: Pandocユーザーズガイド日本語版(Pandoc 2.7.2+準拠)のリポジトリ by Sphinx
Pandoc User’s Guide 日本語版 — 日本Pandocユーザ会
docxとgdocについて
どちらもドキュメント用のファイル形式で互換性があります。どちらのファイルもどちらのツールで開くことが可能です。
インストール
homebrew経由でインストール可能です。
$ brew install pandoc $ pandoc -v pandoc 2.19.2 Compiled with pandoc-types 1.22.2.1, texmath 0.12.5.2, skylighting 0.13, citeproc 0.8.0.1, ipynb 0.2, hslua 2.2.1 Scripting engine: Lua 5.4 User data directory: /Users/karlley/.local/share/pandoc Copyright (C) 2006-2022 John MacFarlane. Web: https://pandoc.org This is free software; see the source for copying conditions. There is no warranty, not even for merchantability or fitness for a particular purpose.
pandoc -v
で標準されるUser data directory:
は変換時にスタイル等の参照ファイルを設置するディレクトリです。今回は使用していません。
テンプレート作成
ドキュメントのスタイルを調整したテンプレートを作成し、変換時に参照することで同じスタイルのドキュメントを作成できます。テンプレートを作成しなくても変換は可能です。
- デフォルトで参照するテンプレートファイルは
reference.docx
- 作成済みのdocxファイルからでもテンプレートが可能
# 参照用テンプレート作成 $ pandoc --print-default-data-file reference.docx > reference.docx
pandocでmarkdown形式ファイルからwordドキュメント(*.docx)を作成する | DevelopersIO
markdownをpandocでdocxに変換する - 理系学生日記
[Pandoc] markdownで論文として通用するレベルのwordへの変換を頑張る | あきとしのスクラップノート
markdownからdocxへの変換
下記コマンドで.md
から.docx
に変換できます。
-o
オプションで変換後のファイル名を指定する変換されたファイルは変換元と同一ディレクトリに出力される
指定するファイルは拡張子まで書く事でファイル形式を指定できる
# markdownからdocxの変換 $ pandoc 変換元ファイル.md -o 変換後のファイル名.docx # reference.docxテンプレートを参照してdocxに変換する $ pandoc 変換元ファイル.md --reference-doc=reference.docx -o 変換後のファイル名.docx
変換時の注意点
変換時には下記に注意してください。
- 参照するdocxファイルはデフォルトのスタイルを変更しないとスタイルが反映されない
- 参照するdocxファイルは変換元ファイルと同一ディレクトリに配置する
User data directory:
に参照ディレクトリと参照ファイルを作成する必要は無い
まとめ
テンプレートを作成したがスタイルが反映されずに結構ハマってしまいました。普段、Wordは触ることが無かったのでスタイルの当て方も含めて良い経験になりました。
参照
jgm/pandoc: Universal markup converter
pandoc-jp/pandoc-doc-ja: Pandocユーザーズガイド日本語版(Pandoc 2.7.2+準拠)のリポジトリ by Sphinx
Pandoc User’s Guide 日本語版 — 日本Pandocユーザ会
pandocでmarkdown形式ファイルからwordドキュメント(*.docx)を作成する | DevelopersIO