Pandocで.mdを.pdfに変換する環境構築(TeX無し)


概要

読書のレポートを電子化するにあたって、MarkdownをPDFにできる環境があると楽だと思い、やってみました。
大まかな流れは以下の通りです。今回はLateXは使っていません。
1. Chocolateyのインストール
2. Pandocのインストール
3. wkhtmltopdfのインストール
4. .mdファイルを.pdfファイルに変換する

環境

Windows10
Chocolatey 0.10.11
Pandoc 1.17.4.2
wkhtmltopdf 0.12.4

Chocolateyのインストール

ChocolateyとはWindows用のパッケージマネージャソフトです。
コマンドプロンプトかPowerShellを管理者権限で起動し、https://chocolatey.org/install にあるコマンドを実行し、インストールします。

PowerShell
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
cmd
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

Pandocのインストール

Pandocとは、Markdownをはじめとする様々な形式のファイルを、これまた様々な形式(docx,LateX,HTML...)のファイルに変換してくれるソフトです。
Chocolateyのインストール後、以下のコマンドを実行し、インストールします。

cinst pandoc

wkhtmltopdfのインストール

Pandocだけでは、PDF形式の出力はできません。
LateXと組み合わせるのがセオリーのようですが、今回はwkhtmltopdfというMarkdownやHTMLをPDFに直すツールを使います。
そして以下のコマンドを実行し、インストールします。

cinst wkhtmltopdf

.mdファイルを.pdfファイルに変換する

今回は、Hoge.mdをHoge.pdfに変換します。
以下のコマンドを、対象のファイルがあるディレクトリ上で実行します。

pandoc Hoge.md -f markdown -t html5 -o Hoge.pdf

このコマンドは、
pandoc [変換元ファイル名] -from [変換元の形式] -to [フォーマット] -output [変換先のファイル名]
という構成です。
結果は以下のようなPDFになりました。

まとめ

パッケージマネージャでインストールするとバージョンが最新でない場合があるようです。しかし動作には特に支障はありませんでした。気になる方はインストーラをダウンロードしたほうがいいかも。
MarkdownをPDFに変換するのはこれで事足りますが、現在はVSCodeの拡張機能のほうが……。