MarkdownをPDFに変換して書式を崩さない方法(2026)
きれいに書いたMarkdownをPDFに書き出したら、コードブロックの折り返しがおかしく、表からはみ出し、段落が真っ二つに切れてしまった——そんな経験はありませんか。
このガイドでは、コード・表・画像・リンク・改ページを保ったまま Markdown を PDF に変換する方法を、無料オンライン変換・VS Code・Pandoc の3パターンで説明します。
なぜ Markdown → PDF で書式が崩れるのか
Markdown はプレーンテキスト、PDF は固定レイアウトです。書式崩れの多くは次の4点が原因です。
| 問題 | PDFでの見え方 | 原因 |
|---|---|---|
| コードブロックが切れる | ページ端で行が欠ける | 改ページ制御がない |
| 表が欠ける | 右の列が消える | ページ幅が足りない |
| フォントが変わる | 明朝体になる等 | フォント対応表の欠如 |
| 最後に白紙ページ | 空の最終ページ | 末尾の改行・余白 |
これらを押さえれば、プレビューどおりのPDFが作れます。
方法1:無料オンライン変換(最速)
インストール不要で1クリックならこちら。
- Markdown → PDF 変換ツールを開く
- Markdown を貼り付け(または
.mdをアップロード) - テンプレートを選択(Classic / Modern / Academic など)
- Download PDF をクリック
保持されるもの:
- 見出しと余白
- 太字、斜体、
インラインコード - シンタックスハイライト付きコードブロック
- 表・リスト・引用
- 画像とリンク
ヒント:書き出す前にテンプレートを選ぶと、印刷向けの余白・見出し階層に最適化できます。
方法2:VS Code(リポジトリ内のドキュメント向け)
Markdown がコードと同じリポジトリにある場合:
- Markdown PDF(または Markdown All in One)を導入
.mdを開くCmd/Ctrl+Shift+P→ Markdown PDF: Export (pdf)- ソースと同じ場所に保存
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 を使ってください。
次のステップ
- 試しに書き出す:Markdown → PDF
- 編集が必要なら:Markdown → Word
- 構文を深く学ぶ:Markdown構文ガイド
- クイック参照:Markdownチートシート