PCロール

PCロール

Markdown を PDF に変換する

Markdown を PDF に変換する

この記事は、Gajeroll Advent Calendar 2022 の 7 日目の記事です。

この記事では、Markdown で書いた文書を PDF 形式で出力する方法をご紹介します。 Markdown で書いた資料を PDF 形式で配布・印刷したい方、PDF 形式で提出の授業のレポートを Markdown で書きたい学生の方などに便利なツールを 2 つ取り上げます。

Markdown to PDF

1 つ目にご紹介するのは Markdown to PDF という Node.js 製の CLI ツールです。 豊富な設定項目や高いカスタマイズ性が特徴です。

Markdown to PDF on npmjs

インストール

npm i -g md-to-pdf

npm レジストリに公開されていますので、もちろんローカルインストールすることも可能です。 例えば、以下の記事では yarn add md-to-pdf を実行してインストールされています。

参考記事

使用方法

使用方法はとても簡単で、次のコマンドを実行します。 path/to/file.md の部分には変換したい Markdown ファイルへのパスを指定します。

md-to-pdf [options] path/to/file.md

デフォルトでは、出力される PDF ファイルは元の Markdown ファイルと同じディレクトリに同名で作成されます。 また、オプションも利用でき、例えば、Watch モード(-w または --watch)で Markdown の変更を監視して、変更のある度に PDF を生成できます。

設定

Markdown to PDF には様々なオプションが用意されており、先ほど紹介した通りコマンドにオプションを付すこともできますが、Markdown ファイル上部に Front Matter 形式で設定を記述したり、設定ファイルを指定したりすることも可能です。 ここでは、Front Matter 形式で設定を加える例をご紹介します。

---
dest: ./path/to/output.pdf # PDF の出力先を変更
body_class: markdown-body  # body タグにクラスを付与
css: |-                    # CSS 形式でスタイルを指定
  .markdown-body { font-size: 12px; }  # markdown-body クラスにフォントサイズを指定
highlight_style: monokai # コードのハイライトのテーマ(デフォルトは github)を変更
pdf_options:
  format: A5   # 出力する PDF の用紙サイズ
  margin: 20mm # 出力する PDF の余白
---

# Content

オプションについての詳細は こちら をご覧ください。

【付録】数式を挿入する

MathJax による数式表示も可能です。 以下の Markdown ファイルのように、Front Matter の path の項目で設定ファイルへのパスを指定します。(この例では、md-to-pdf コマンドを実行するパスに mathjax-config.js を置いています。)



---
script:
  - path: ./mathjax-config.js
  - url: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js
---

# Formulas with MathJax

When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\).
MathJax = {
  tex: {
    inlineMath: [
      ["$", "$"],
      ["\\(", "\\)"],
    ],
  },
};

// https://unpkg.com/browse/mathjax/es5/tex-chtml.js

Markdown PDF

2 つ目にご紹介するのは Markdown PDF という VS Code 拡張機能です。 以下のリンクからインストールできます。

Markdown PDF on Visual Studio Marketplace

使用方法

使用方法は以下の 2 通りです。

コマンドパレットを使う

  1. Markdown ファイルを開いているとき、F1 あるいは Shift + Ctrl(⌘) + P を押して、コマンドパレットを開きます。
  2. export と入力して、下に表示されたコマンドの一覧から Markdown PDF: Export (pdf) を選びます。

メニューを使う

  1. Markdown ファイルを開いているとき、右クリックでメニューを開きます。
  2. メニューの中から Markdown PDF: Export (pdf) を選びます。

設定

  1. 左下の「管理」内の「設定」を選択、あるいは Ctrl(⌘) + , を押します。
  2. 「設定の検索」に @ext:yzane.markdown-pdf と入力すると、Markdown PDF の設定が表示されます。

あるいは、サイドバーにて「拡張機能」を開き、インストール済みの拡張機能から Markdown PDF を選択後、設定アイコンをクリックして「拡張機能の設定」を選択することでも表示できます。

各設定のさらに詳しい情報をご覧になりたい方は以下の こちら をご参照ください。

おわりに

最後までご覧いただきありがとうございます。 PC ロールでは、テクノロジーに関する情報をまとめて発信しています。 また、おすすめのガジェットについて幅広く紹介していく、ガジェロールもあります。 ガジェットやソフトを使うエンジニア・クリエイターはぜひご覧ください。