執筆・検証: MD Converter編集部
Markdown PDFに表紙を付ける方法|HTML・Pandoc・別PDFを比較
Markdownから作るPDFに表紙を追加する3つの方法を比較します。HTMLと印刷CSS、Pandoc、別PDFの結合について、ソースへの影響、向く用途、目次やページ番号との組み合わせまで解説します。
Markdown PDFの表紙は本文と分けて管理する
Markdownから作るPDFに表紙を付ける方法は、主に次の3つです。
- MarkdownへHTMLを加え、印刷CSSで表紙を作る
- Pandocで表紙用ファイルを本文の前へ挿入する
- 表紙を別PDFとして作り、本文PDFと結合する
どの方法でも、表紙に必要なのはタイトル、作成者、日付、版番号などの文書を識別する情報です。装飾を増やす前に、「誰が、いつ、何のために作った文書か」が一目で分かる状態を優先します。
| 方法 | Markdownへの影響 | 自動化 | デザイン自由度 | 向く用途 |
|---|---|---|---|---|
| HTMLと印刷CSS | HTML要素が加わる | ○ | 高い | HTML経由でPDF化する文書 |
| Pandocの挿入ファイル | 本文を変更しない | ◎ | 出力方式による | CLI・CIで繰り返し生成する文書 |
| 別PDFを結合 | 本文を変更しない | △ | 最も高い | 既存のブランド表紙を使う正式資料 |
方法1:HTMLと印刷CSSで表紙を作る
HTMLを許可するMarkdown処理系なら、本文の先頭に表紙用の要素を置けます。
<section class="cover-page">
<p class="cover-label">PROJECT SPECIFICATION</p>
<h1>プロジェクト仕様書</h1>
<p>株式会社〇〇 開発部</p>
<p>Version 2.1 / 2026-04-01</p>
</section>
印刷時だけ1ページを使うようにCSSを指定します。
@media print {
.cover-page {
box-sizing: border-box;
min-height: 100vh;
display: grid;
place-content: center;
gap: 1rem;
text-align: center;
break-after: page;
}
}
break-after: pageは表紙の直後で改ページする指定です。本文先頭にもbreak-beforeを設定すると空白ページが生じることがあるため、同じ境界の改ページ指定は1つにします。詳しくはMarkdown PDFで改ページするCSSを参照してください。
この方法は自由度が高い一方、HTMLを削除する処理系では使えません。また、GitHubなどの画面表示では印刷CSSが適用されず、PDFと見た目が異なる場合があります。
方法2:Pandocで表紙用ファイルを挿入する
Pandocでは、本文とは別に管理したファイルを--include-before-body(短縮形-B)で先頭へ挿入できます。挿入ファイルは、出力形式に合わせて用意します。
HTMLを作ってブラウザからPDF保存する場合:
pandoc body.md \
--standalone \
--include-before-body=cover.html \
--css=print.css \
-o document.html
XeLaTeXで直接PDFを作る場合:
pandoc body.md \
--include-before-body=cover.tex \
--pdf-engine=xelatex \
-o document.pdf
HTML用のcover.htmlをLaTeX経由のPDFへそのまま渡すのではなく、HTML出力にはHTML、LaTeX出力にはTeXを使います。これを分けないと、表紙が無視されたり、生のタグが残ったりします。
Pandoc方式は、同じ書式の仕様書や報告書をCIで繰り返し生成するときに向いています。タイトルや日付などをYAMLメタデータから渡す設計にすると、表紙用ファイルを文書ごとに複製せずに済みます。
方法3:表紙PDFと本文PDFを結合する
PowerPoint、Illustrator、Wordなどで管理している正式な表紙がある場合は、表紙だけをPDFにし、Markdownから生成した本文PDFの前へ結合する方法があります。
この方法の利点は、ブランドガイドに沿った図形、写真、ロゴを自由に配置できることです。一方で、本文を更新するたびに結合し直す必要があり、版の取り違えが起きやすくなります。
結合前に次を確認します。
- 表紙と本文の用紙サイズ・向きが同じ
- フォントがPDFへ埋め込まれている
- 表紙が1ページで完結している
- 本文の最新版と同じ版番号・日付になっている
- 結合後のしおり、リンク、ページ順が維持されている
表紙に載せる情報を決める
表紙へ載せる情報は、文書の受け渡しと版管理に必要なものへ絞ります。
| 情報 | 記載例 | 判断のポイント |
|---|---|---|
| タイトル | API仕様書 | 文書の種類と対象を具体的にする |
| サブタイトル | 決済基盤リニューアル | タイトルだけで識別できない場合に加える |
| 組織・作成者 | 開発部 / 山田太郎 | 問い合わせ先が必要な文書で使う |
| 日付 | 2026-04-01 | 公開日か提出日かを制作ルールで統一する |
| 版番号 | Version 2.1 | 更新される文書では本文と一致させる |
| 取扱区分 | 社外秘 | 実際の情報管理ルールがある場合だけ使う |
長い説明文、目次、免責事項まで表紙へ詰め込むと、文書の識別が難しくなります。概要は本文の最初へ、章一覧は目次へ分けます。
表紙・目次・ページ番号の順序
長い文書では、一般に次の順で構成します。
- 表紙
- 目次
- 本文
- 付録
表紙にページ番号を表示するか、本文を1ページから始めるかは、PDF生成方式によって対応が異なります。ブラウザの印刷機能は連番の開始位置を細かく制御しにくいため、厳密なノンブルが必要ならPandocや組版エンジン、PDF後処理を検討します。Markdown PDFにページ番号を付ける方法も確認してください。
目次は表紙のデザインではなく、Markdownの見出し階層から作ります。見出しレベルを飛ばさず、章名だけで内容が分かるようにすると、表紙から本文まで一貫した文書になります。
よくある質問
表紙のためだけにMarkdownへHTMLを書いてもよいですか?
配布先の処理系がHTMLを許可し、HTML出力を主に使うなら現実的です。同じMarkdownをGitHub、CMS、別の変換器でも使う場合は、表紙用ファイルを分離したほうが互換性を保ちやすくなります。
表紙にロゴや画像を入れてもよいですか?
入れられますが、印刷解像度、縦横比、利用許諾を確認します。ロゴは装飾ではなく識別要素なので、本文タイトルより目立たせすぎないほうが読みやすくなります。
表紙の後に空白ページができます
表紙のbreak-afterと、本文先頭のbreak-beforeが重複していないか確認します。表紙要素が用紙の印刷可能領域よりわずかに大きい場合も、追加ページが発生します。Markdown PDFの空白ページを消す方法に切り分け手順があります。
表紙を本文とは別に編集する
Markdown Document Converterでは、表紙エディターでテンプレート、文字、図形、ロゴを調整し、Markdown本文を変更せずにPDFへ追加できます。
関連記事
- 使い方・ブログMarkdown Document Converterの表紙編集|文字・図形・ロゴMarkdown Document Converterの表紙エディターで、テンプレート、文字、図形、色、ロゴを編集する手順と保存前の確認方法を解説します。記事を読む
- 使い方・ブログMarkdown PDFに目次を付ける方法|見出しから自動生成するコツMarkdownの見出しから目次ページを自動生成する手順と、読みやすい見出し階層、目次が有効にならないときの確認点を解説します。記事を読む
- 使い方・ブログMarkdown PDFで改ページするCSS|任意の位置に区切りを入れる方法MarkdownをPDF化したとき見出しや表が途中で切れる問題を解決。break-before・break-after・break-insideのCSSコード、空白ページの原因、用紙や余白を変えた後の確認手順まで具体例付きで解説します。記事を読む
- 使い方・ブログMarkdown PDFでページ番号を付ける方法Markdownから作るPDFへページ番号を付ける方法を、印刷ダイアログ、CSS、PDF生成ツールに分けて解説。表紙を数えない場合の考え方も整理します。記事を読む