MarkdownをPDFに変換して書式を崩さない方法(2026)

LoveMarkdown編集部公開

きれいに書いたMarkdownをPDFに書き出したら、コードブロックの折り返しがおかしく、表からはみ出し、段落が真っ二つに切れてしまった——そんな経験はありませんか。

このガイドでは、コード・表・画像・リンク・改ページを保ったまま Markdown を PDF に変換する方法を、無料オンライン変換・VS Code・Pandoc の3パターンで説明します。

なぜ Markdown → PDF で書式が崩れるのか

Markdown はプレーンテキスト、PDF は固定レイアウトです。書式崩れの多くは次の4点が原因です。

問題 PDFでの見え方 原因
コードブロックが切れる ページ端で行が欠ける 改ページ制御がない
表が欠ける 右の列が消える ページ幅が足りない
フォントが変わる 明朝体になる等 フォント対応表の欠如
最後に白紙ページ 空の最終ページ 末尾の改行・余白

これらを押さえれば、プレビューどおりのPDFが作れます。

方法1:無料オンライン変換(最速)

インストール不要で1クリックならこちら。

  1. Markdown → PDF 変換ツールを開く
  2. Markdown を貼り付け(または .md をアップロード)
  3. テンプレートを選択(Classic / Modern / Academic など)
  4. Download PDF をクリック

保持されるもの:

  • 見出しと余白
  • 太字、斜体、インラインコード
  • シンタックスハイライト付きコードブロック
  • 表・リスト・引用
  • 画像とリンク

ヒント:書き出す前にテンプレートを選ぶと、印刷向けの余白・見出し階層に最適化できます。

方法2:VS Code(リポジトリ内のドキュメント向け)

Markdown がコードと同じリポジトリにある場合:

  1. Markdown PDF(または Markdown All in One)を導入
  2. .md を開く
  3. Cmd/Ctrl+Shift+P → Markdown PDF: Export (pdf)
  4. ソースと同じ場所に保存

VS Code のプレビューは GitHub 準拠なので、README の見た目とほぼ一致します。

方法3:Pandoc(一括・CI 向け)

大量のファイルや自動ビルドでは:

pandoc README.md -o README.pdf --pdf-engine=xelatex

便利なオプション:

# コードの折り返しを保持
pandoc doc.md -o doc.pdf --wrap=pre --highlight-style=tango

# ページサイズと余白
pandoc doc.md -o doc.pdf -V geometry:margin=1in -V papersize:a4

Pandoc は強力ですが LaTeX が必要です。たまの書き出しにはオンライン変換が簡単です。

保持したい6つの書式

1. コードブロック(特に長い行)

言語指定付きフェンスを使いましょう:

```python
def hello():
    print("Hello, PDF!")
```
  • 言語タグを付けてハイライトを効かせる
  • 1行が極端に長いコードはできるだけ折る
  • 必ず必要な長文コードは、変換ツール側が折り返し/分割すること

2. 表

ヘッダーは短く。列が多すぎる表が PDF ではみ出す最大の原因です:

| 形式 | 向いている用途 | 編集可否 |
|------|----------------|----------|
| Markdown | 執筆 | 可 |
| PDF | 共有・印刷 | 不可 |
| DOCX | レビュー | 可 |

列が多い表は分割するか、なくてもよい列を削ってください。

3. 改ページ

Markdown 内の単純な HTML で制御できることが多いです:

<div style="page-break-after: always;"></div>

大きな章の前に置くと、見出しだけがページ下に取り残されることを防げます。

4. 画像

  • 相対パス(./images/chart.png)または HTTPS URL
  • 1〜2MB 以下の PNG/JPEG が無難
  • alt を付ける(PDF のアクセシビリティにも効く)

5. リンク

印刷では長い URL が読みづらいので、説明的なリンク文を:

[Markdown構文ガイド](/blog/markdown-syntax-guide)

6. 見出し階層

タイトルに # を1つ、以降は ## / ###。飛び番は PDF のしおり・目次を壊します。

書き出し前チェックリスト

  • # のタイトルは1つだけ
  • コードはフェンス+言語指定
  • 表は縦向き1ページに収まる列数(目安6〜8列)
  • プレビューで画像が表示されている
  • 本文に不要な HTML がない
  • プレビューが印刷イメージどおり

FAQ

Markdown を無料で PDF にするには?

オンラインの Markdown → PDF ツールに貼り付けてダウンロードするだけ。登録不要・透かしなしで、ブラウザ内で完結します。

PDF でコードブロックが切れるのはなぜ?

長い行と、改ページ処理不足が原因です。フェンスで書き、長い行は折り、ブロックを途中で切らないツールで書き出してください。

シンタックスハイライトは PDF に残る?

残ります。ハイライト後の HTML から PDF を作る変換ツール(多くのオンラインツールや VS Code 拡張)を使ってください。

PDF と Word のどちらを選ぶべき?

共有・印刷が最終形なら PDF。まだ編集が必要なら Word。原稿フォーマット選びは Markdown vs HTML vs LaTeX も参照。

Mac / Windows / Linux でも同じ手順?

同じです。ブラウザのオンライン変換か、VS Code / Pandoc を使ってください。

次のステップ

  1. 試しに書き出す:Markdown → PDF
  2. 編集が必要なら:Markdown → Word
  3. 構文を深く学ぶ:Markdown構文ガイド
  4. クイック参照:Markdownチートシート