Markdown PDF変換ツール
左側にMarkdownを貼り付けると右側にプレビューが表示され、そのままページ分割されたPDFをダウンロードできます。文字はコピーでき、ファイルがブラウザの外に出ることはありません。
MarkdownをPDFに変換するには?
上のエディタにMarkdownを貼り付け、用紙サイズを選んで「PDFを生成」を押すだけで、ブラウザから直接PDFをダウンロードできます。文字は画像化されず実テキストのまま残るため、選択も検索も可能です。コマンドライン派なら pandoc report.md -o report.pdf でも同じ結果が得られます。
pandoc report.md -o report.pdfPandocがreport.mdを読み込み、同じ場所にページ分割されたreport.pdfを書き出します。見出し・リスト・表・コードブロックは印刷向けのレイアウトで配置されます。
Markdown PDF変換ツールを使う
設定
Markdown
プレビュー
Markdown PDF変換のサンプル
MDUtil のMarkdown PDF変換ツールへようこそ!
特長
- 文字を選択・検索できるPDFに変換
- Markdownのリアルタイムプレビュー
- コードのシンタックスハイライト
- 表やリストなど主要な記法に対応
- 用紙サイズと向きを指定可能
- 生成したPDFをその場でダウンロード
コード例
function generatePdf() {
console.log("MarkdownをPDFに変換しています……");
}
表の例
| 記法 | 対応 | 例 |
|---|---|---|
| 見出し | ✓ | # 見出し1 |
| 太字 | ✓ | 太字 |
| 斜体 | ✓ | 斜体 |
| リスト | ✓ | - 項目1 |
| コードブロック | ✓ | code |
ヒント:左側でMarkdownを編集し、プレビューで確認したら「PDFを生成」を押してください。
数式の例
- 二次方程式の解の公式:
- 質量とエネルギーの等価性:
MarkdownをPDFに変換する4つの方法
以下のどの方法でもPDFは作れますが、導入の手間・スタイルの制御範囲・元のMarkdownをどこまで忠実に再現できるかが異なります。変換する頻度に合わせて選んでください。
ブラウザで変換する(インストール不要)
いちばん手早い方法です。上のエディタにMarkdownを入れ、プレビューを確認してダウンロードするだけで完了します。単発の文書向けで、ツールをインストールできない会社の端末でも使えるのが利点です。
# 四半期レポート
## ハイライト
- 売上は前四半期比12%増
- 解約率は1.8%まで低下
| 指標 | Q1 | Q2 |
| ---- | --- | --- |
| MRR | 82k | 94k |見出し・箇条書き・表がA4ページに配置されたPDFになります。文字は選択・コピー・検索が可能です。
Pandoc+LaTeXエンジン
もっとも再現度が高い方法で、「pandoc markdown pdf」で多くの人が想定しているのがこれです。本格的な組版に加え、目次の自動生成・引用文献・相互参照まで扱えます。
pandoc report.md -o report.pdf \
--pdf-engine=xelatex \
--toc \
-V geometry:margin=1in目次付きで余白1インチの組版されたPDFが出力されます。TeX Live・MacTeX・MiKTeXといったTeX環境が必要で、ディスク容量は1〜4GBほど使います。
LaTeXを入れずにPandocを使う
数GBのTeX環境を入れたくない場合は、PandocのPDFエンジンをHTMLベースのものに切り替えます。LaTeXのマクロではなく、通常のCSSでPDFの体裁を指定できます。
pandoc report.md -o report.pdf \
--pdf-engine=weasyprint \
--css=print.css同じ文書がHTMLとCSSを経由して描画されるため、print.css内の@pageルール・余白・Webフォントが最終的なレイアウトを決めます。
VS Code(Markdown PDF拡張機能)
Markdownがすでにリポジトリにある場合はこれが最短です。Markdown PDF拡張機能を入れれば、エディタから離れずに開いているファイルを書き出せます。次のワークスペース設定で出力形式を固定できます。
// .vscode/settings.json
{
"markdown-pdf.type": ["pdf"],
"markdown-pdf.format": "A4",
"markdown-pdf.displayHeaderFooter": true
}コマンドパレットで「Markdown PDF: Export (pdf)」を実行すると、report.mdの隣にreport.pdfが生成されます。初回は拡張機能が同梱のChromiumをダウンロードするため時間がかかります。
Node製CLIで一括変換する
1ファイルずつ手作業で書き出すのではなく、ドキュメントフォルダ全体をCIでまとめて変換したい場合は、globが使えるNode製のコンバーターがいちばん手間がかかりません。
npx md-to-pdf report.md
npx md-to-pdf --stylesheet print.css "docs/**/*.md"1つ目のコマンドはreport.pdfを出力します。2つ目はdocs/配下のすべてのMarkdownを共通の印刷用スタイルシートで変換します。
改ページを強制する
Markdownには改ページの記法が存在せず、PDF変換でいちばん多くの人がつまずく点です。生のHTMLを書くのが移植性の高い回避策になります。
概要はここまでで、1ページ目に収まります。
<div style="page-break-after: always;"></div>
# 付録AHTMLやChromeを経由する変換ツールでは「付録A」が次のページから始まります。LaTeX系やプレーンテキスト系のレンダラーはこのdivを無視するため、頼る前に出力を確認してください。
Markdown PDF変換:どの方法を選ぶか
設定なしで済ませたいのか、組版を厳密に決めたいのか、ビルドパイプラインで繰り返し実行したいのかで最適解は変わります。よく使われる方法の実際の挙動をまとめました。
| プラットフォーム | 対応状況 | 備考 |
|---|---|---|
| このツール | すぐ使える | インストールもアップロードも不要です。用紙サイズと向きは指定できますが、フォントと余白は変更できません。 |
| Pandoc | 細かく制御可能 | 再現度が最も高く目次や引用文献にも対応しますが、PDFエンジンを別途インストールする必要があります。 |
| VS Code | 良好 | Markdown PDF拡張機能で開いているファイルを書き出せます。初回実行時に専用のChromiumをダウンロードします。 |
| Obsidian | 標準搭載 | ファイル → PDFに書き出す、でノート表示そのままのテーマ込みで出力されます。 |
| Typora | 標準搭載 | ファイル → エクスポート → PDF。ヘッダー・フッター・ページ番号のテンプレートも指定できます。 |
| ブラウザの印刷機能 | 一部 | 表示中のMarkdownページでCmd/Ctrl+P。無料ですが、改ページ位置と背景色は思いどおりになりません。 |
| GitHub / Qiita / Zenn | 非対応 | いずれもPDF書き出し機能はありません。表示中のページを印刷するか、Markdownソースを変換ツールに貼り付けてください。 |
このツールでMarkdownをPDFに変換する手順
Markdownを入力する
左側のエディタにMarkdownを入力するか貼り付けます。インポートボタンから手元の.mdファイルを読み込むこともできます。
プレビューを確認する
右側は入力に合わせて即座に再描画されます。長い文書では「スクロール同期」を有効にしておくと、プレビューがカーソルに追従します。
用紙の形式を決める
A4・Letter・A3から選び、縦向きか横向きかを指定します。印刷や保管する場面に合わせて選んでください。
PDFを生成する
「PDFを生成」を押します。ブラウザ内で組み上げられたPDFがすぐにダウンロードされ、文字は選択も検索もできます。
よくある質問
生成したPDFの文字は選択・検索できますか?
できます。プレビューを画像として貼り付けるのではなく、実際のテキストオブジェクトとして書き出しているため、通常のテキストPDFと同じように選択・コピー・検索でき、全文検索の対象にもなります。
PandocとオンラインのMarkdown PDF変換、どちらを使うべきですか?
頻繁に変換する場合や、目次・引用文献・厳密な組版が必要で、PDFエンジンのインストールをいとわないならPandocが向いています。単発の文書、ソフトをインストールできない端末、数秒で結果がほしい場面ではオンラインツールのほうが早く済みます。
VS CodeでMarkdownをPDFに変換するには?
Markdown PDF拡張機能をインストールし、ファイルを開いた状態でコマンドパレットからMarkdown PDF: Export (pdf)を実行します。拡張機能を入れたくない場合は、組み込みプレビューを右クリックして印刷からPDFに保存する方法もあります。再現度は落ちますが、追加インストールは不要です。
入力したMarkdownはサーバーにアップロードされますか?
されません。プレビューもPDFの生成もブラウザ上のJavaScriptだけで完結します。内容が送信・保存・記録されることはないため、社内文書や下書き、顧客の資料を扱うときも安心して使えます。
Markdown PDF変換で改ページを入れるには?
Markdownには改ページの記法がないため、生のHTMLを書きます。page-break-after: always を指定したdivを挟むのが定番です。HTML経由で描画する変換ツールでは有効ですが、LaTeXベースのものは無視するので、出力を必ず確認してください。
画像は書き出したPDFに含まれますか?
画像はリアルタイムプレビューには表示されます。ダウンロードされるPDFは見出し・段落・リスト・表・コードブロック・引用といったテキスト要素を中心に構成されるため、ファイルは軽く全文が選択可能なままです。画像が多い文書は、ブラウザの印刷機能でプレビュー部分をPDFに保存するほうが向いています。
表やコードブロック、数式は正しく変換されますか?
表・フェンスコードブロック・引用・番号付きと番号なしのリストはPDF上でも整形されます。LaTeX数式はプレビューでは描画されますが、PDFにはプレーンテキストとして入るため、数式の多い論文はPandocとXeLaTeXの組み合わせが適しています。
PDFで日本語が文字化けする・表示されないのはなぜですか?
PDFの標準フォントはラテン文字の字形しか持たないため、日本語や中国語、キリル文字は欠落することがあります。PandocとXeLaTeXで Noto Sans CJK JP や源ノ角ゴシックなど日本語字形を含むフォントを指定するか、ブラウザの印刷機能でプレビュー部分を保存してください。後者ならシステムのフォントが使われます。
PDFをMarkdownに戻すことはできますか?
このツールは一方向専用のため対応していません。PDFからMarkdownへの変換は難易度が高く、PDFは文書構造ではなく配置済みの字形を保持しているだけなので、見出しやリスト、表は推測で復元することになります。MarkItDownやMarkerといった専用の抽出ツールであれば実用的な精度が出ます。
どのくらいの大きさの文書まで変換できますか?
上限は設けていませんが、生成処理はブラウザのメインスレッドで動くため、数百ページの文書では目に見えて時間がかかり、一時的にメモリ使用量も増えます。大きなマニュアルは章ごとに分けて変換すると快適です。