パブリックAPIが利用可能になりました!MarkdownをAPIで画像に変換、毎月50回まで無料。
ブログに戻る
1970年1月1日木曜日

Markdown を PDF に変換する 5 つの方法を比較(Pandoc、VSCode、オンラインツール)

Markdown を PDF に変換する 5 つの方法を比較(Pandoc、VSCode、オンラインツール)

まず結論

ほとんどの人にとって、ブラウザ版の /markdown-to-pdf が正解 — 5 秒、インストール不要、コードハイライト、KaTeX、Mermaid を含む完全な Markdown 仕様。本や論文を出すのでなければ Pandoc は過剰です。他の 3 つは存在意義はありますが、ネットで言われるほど万能ではありません。

5 つすべてを 30 ページの Markdown レポート(コードブロック、KaTeX、テーブル、Mermaid 図表入り)で比較しました。各方法の実態、存在理由、本当に強い場面を以下に示します。

方法 1 — オンライン版 (/markdown-to-pdf)

適している: 単発変換、コードハイライト、数式、図表、インストール不要。

やり方: /markdown-to-pdf を開き、貼り付けて PDF をクリック。

最初の PDF までの時間: 約 5 秒。

長所: ゼロインストール、どのブラウザでも動く。KaTeX と Mermaid を含む完全な Markdown サポート。ライト・ダーク両テーマで出力可能。無料アカウントでも透かしなし。

短所: 1 MB 入力上限。1 度に 1 ファイル — バッチは 複数の Markdown ファイルを PDF にバッチ変換 参照。

いつ使う: 単発変換の 95% はこれで足りる。

方法 2 — Pandoc

適している: 学術論文、独自 LaTeX テンプレート、引用と参考文献、1 ソースから複数フォーマット(PDF + DOCX + EPUB)。

やり方:

brew install pandoc
brew install --cask basictex  # または mactex(約 5 GB)
pandoc input.md -o output.pdf

最初の PDF までの時間: 初回 30〜90 分(Pandoc + LaTeX をインストールし、テンプレートのエラーを潰す)。以降 5 秒。

長所: 安定、スクリプタブル、LaTeX による無限のテンプレート。引用ネイティブ対応 (--bibliography)。オフライン動作。書籍品質の組版。

短所: LaTeX のインストールサイズ 3〜5 GB。デフォルト出力は学術論文の見た目。カスタムテンプレは難しい。コードハイライトは --highlight-style 別途、Web 標準で見ると古い。Mermaid はフィルタープラグインが必要。

いつ使う: 本、博士論文、文献付き論文を出版する、または 3 つ以上の PDF テンプレートをバージョン管理したい場合。

方法 3 — VSCode「Markdown PDF」プラグイン

適している: VSCode で 1 日中 Markdown を書く人。

やり方: yzane の「Markdown PDF」プラグインをインストール、ファイル右クリック → Markdown PDF: Export (pdf)。

最初の PDF までの時間: 初回約 10 秒(プラグインがサイレントに Chromium をダウンロード、約 150 MB)。

長所: 既に書いている場所からワンクリック。ユーザー設定で CSS をカスタマイズ可能。デフォルトのスタイルも実用的。

短所: 初回エクスポートが Chromium ダウンロードで遅い。PDF の見た目は CSS 経由のみ。KaTeX は箱から出してすぐは動かない — 別途 Markdown+Math プラグインが必要。Mermaid ブロックはコードのままで図にならない。

いつ使う: 週 5 本以上の PDF を書き、エディタが VSCode の場合。

方法 4 — ブラウザ印刷 → PDF として保存

適している: Markdown が既にブラウザで描画されているページ(GitHub README、GitLab Wiki、ドキュメントサイト)。

やり方: ⌘+P または Ctrl+P → 「PDF として保存」。

最初の PDF までの時間: 約 3 秒。

長所: そこにある。インストール不要。レンダリングされた HTML なら何でも。

短所: 改ページが予測不能にテーブルとコードブロックを切る。Firefox の印刷でハイライト色が抜けることが多い。デフォルトのヘッダー/フッターは URL とページ番号で、通常は手動で無効化する必要がある。元ページが KaTeX や Mermaid を描画していない限り PDF にも入らない。

いつ使う: 既にレンダリング済みの Markdown ページの PDF が今すぐ必要で、粗さは許容できる場合。

方法 5 — md-to-pdf(npm CLI)

適している: ビルドパイプライン、CI/CD、自動化されたドキュメント。

やり方:

npm install -g md-to-pdf
md-to-pdf input.md

最初の PDF までの時間: 約 10 秒(初回に Puppeteer の Chromium、約 120 MB を取得)。

長所: スクリプタブル。ドキュメントごとに YAML front-matter でテーマ指定。watch モード。インストール後はオフラインで動く。

短所: Node + Chromium 依存。テーマ調整は YAML + CSS のみで Pandoc/LaTeX ほど表現力がない。Mermaid は箱から出して動かない — markdown-it プラグインが必要。

いつ使う: ドキュメントサイトが CI で PDF をビルドする;PDF を .md と並べてバージョン管理したい。

注意:古い markdown-pdf(ハイフンなし)パッケージは避ける — 2019 年以降未更新でセキュリティ警告あり。md-to-pdf がメンテされている後継です。

比較表

方法インストール初回 PDFハイライト数式Mermaid適している
/markdown-to-pdf0 MB5 秒ありあり (KaTeX)あり単発
Pandoc3〜5 GB30〜90 分基本あり (LaTeX)フィルター本・論文
VSCode プラグイン150 MB10 秒あり拡張必要なしVSCode 利用者
ブラウザ印刷0 MB3 秒不安定なしなし既に描画済み
md-to-pdf CLI120 MB10 秒あり設定必要プラグインCI/CD

実際にどれを使うべきか

  • 大半の読者/markdown-to-pdf。約 95% のケースの答え。
  • 引用付き学術 → Pandoc。
  • VSCode 常用 → VSCode プラグイン。
  • DocOps / CI ビルドmd-to-pdf CLI。
  • GitHub README が今すぐ要る → ブラウザ印刷、粗さは諦める。

Markdown → PDF ツールの誘惑はオーバーエンジニアリング。1 文書ならインストールしない。1000 文書なら CLI で自動化。Pandoc を非学術用途に正当化する中間域はほとんどありません。

よくある質問

コードハイライトを最もよく保つのは?

headless Chromium 系(/markdown-to-pdf、VSCode プラグイン、md-to-pdf CLI)。実際の Chromium でレンダリングするので、highlight.js / Prism のテーマがそのまま入ります。Pandoc の --highlight-style は Web 標準で見ると古いです。詳しくは コードハイライトを保持した Markdown PDF 変換

バッチ変換できるのは?

CLI が自然に対応 (md-to-pdf chapter*.md)。Web ツールの場合は 複数の Markdown ファイルを PDF にバッチ変換 を参照。

なぜ markdown-pdf ではなく md-to-pdf なのか?

markdown-pdf(ハイフンなし)は 2019 年以降未更新でセキュリティ警告あり。md-to-pdf はメンテされている後継です。

Markdown to PDF API はありますか?

あります — Markdown to Image API に PDF 出力モードがあり、プログラム的に生成できます。

CJK / 中国語フォントの扱いが最も良いのは?

/markdown-to-pdfmd-to-pdf はホストブラウザのフォントスタックを使うので、システムに CJK フォントがあれば動きます。Pandoc + XeLaTeX は mainfont: 明示が必要。VSCode プラグインは CJK を箱から出してすぐ扱えます。

スケール時に最も安いのは?

週 100+ PDF なら CI 上の md-to-pdf は実質無料(計算コストのみ)。たまの利用ならブラウザ版が無料。Pandoc 自体は無料ですがテンプレート保守が隠れコスト。

まとめ

勝者は量で決まります。1 PDF → ブラウザツール。1000 PDF → CI の CLI。引用付きの本 → Pandoc。軽量版の痛みを感じてから重い武器を取り出すべきです。

Markdown を PDF に:5 つの方法を比較(Pandoc、VSCode、オンライン) | MarkdownToImage