PDF出力の変換方法を考える
rest2pdf なき今、make latexpdf を使うために仕方なくLaTexとGhostScriptを入れ始めたのだがどうもうまくいかない。だいたいインストールがうまく行ったとしても、とても面倒で厄介な匂いしかしない。
次善の策として、WORDに吐き出せればそこからPDFに保存できるのだが sphinx-docxbuilder も過去のプロダクトなので、代わりにPandocを使ってHTMLからdocxに変換してみる。
Pandoc のインストール
GitHubから、pandoc-2.0.1-windows.msi をダウンロードして導入する。C:\Program Files (x86)\Pandoc にインストールされるので念のため、PATHが通っていることを確認する
# | モジュール名 | ver. | 記事 |
---|---|---|---|
61 | Pandoc | 2.0.1 | ドキュメント・コンバータ |
singleHTML経由でdocxに変換する
CMD> make singlehtml
CMD> cd _build\singlehtml
CMD> pandoc index.html -o output.docx
作成されたdocxは以下の様になった。Office 2016を使っている。
元のHTMLと比較すると以下のような不具合があるが完成度は高く修正もしやすいだろう。
- 表の幅(右端)が制御されない
- docx上で"表のプロパティ/幅を指定する"が有効になっているので無効化する。または、100%に設定する
- コードブロックが消えてただの本文テキストになる
- 1行x1列の表に置き換えてから変換する
- 見出し文字(段落記号:¶)が表示される
- HTMLソースに段落記号が本文で記入されているので削除してから変換する。または、変換後にすべてまとめて削除する
- 文書冒頭の目次が元のHTML文書へのリンクを指している
- 変換後に目次を作成しなおす
参考情報
Sphinxをはじめよう 第2版
Sphinxをはじめよう
Pandoc で Windows に作るmarkdown to html, docx 環境
Windows環境でメンテしやすいドキュメントをSphinxで作る(rst形式, Markdown形式)
CommonMarkの仕様とか
Sphinxを便利にして、みんなに使ってもらいたい
Sphinxのドキュメント作成を便利にする「sphinx-quickstart-plus」を作りました
実務に使うプレーンテキスト→Microsoft Word変換、あるいはPandocを使い始めた話
ドキュメントの継続的な開発方法 | IIJ Engineers Blog