読者です 読者をやめる 読者になる 読者になる

markdownファイルからpdfへの変換

markdownファイルでテキストを書いているとやっぱりHTMLの表示だけでなくてpdfファイルへの変換もできるといいなあと思っていました。

そこでググってみるとMarkdown to PDF converter (markdown-pdf)というプロジェクトが見つかりました。 これまではJavaScriptに関しては抵抗感があったんだけど、最近そういうのもなくなってきたのでインストールしてみることに。

node.js系なのでnpmで以下のようにグローバルにインストール。

PS C:\> npm install -g markdown-pdf

Windowsだと実行後にmarkdown-pdf.cmdというコマンドが使えるようになるのでこれを使っていきます。 引数なしで起動するとUsageが表示されます。

PS C:\> markdown-pdf.cmd
  Usage: markdown-pdf [options] <markdown-file-path>
  Options:
    -h, --help                               output usage information
    -V, --version                            output the version number
    <markdown-file-path>                     Path of the markdown file to convert
    -c, --cwd [path]                         Current working directory
    -p, --phantom-path [path]                Path to phantom binary
    -h, --runnings-path [path]               Path to runnings (header, footer)
    -s, --css-path [path]                    Path to custom CSS file
    -z, --highlight-css-path [path]          Path to custom highlight-CSS file
    -m, --remarkable-options [json-options]  Options to pass to remarkable
    -f, --paper-format [format]              "A3", "A4", "A5", "Legal", "Letter" or "Tabloid"
    -r, --paper-orientation [orientation]    "portrait" or "landscape"
    -b, --paper-border [measurement]         Supported dimension units are: "mm", "cm", "in", "px"
    -d, --render-delay [millis]              Delay before rendering the PDF
    -t, --load-timeout [millis]              Timeout before the page is rendered in case `page.onLoadFinished` isn't fired
    -o, --out [path]                         Path of where to save the PDF

独自のCSSファイルを使わないのであれば、以下のようにファイルを指定すれば簡単に変換ができます。

PS C:\> markdown-pdf.cmd -o report.pdf .\report.md

用紙サイズや向きの変更もオプションで与えられそうです。 これは便利!今後はテキストファイルで保存していたメモもmarkdownファイルへの置き換えがすすめられそうです。