表のあるMarkdownを、読みやすいままPDFに印刷する

執筆 pdftomd.tools チーム · 更新日 · 約8分で読めます

表を崩さずに、表のあるMarkdownをPDFに印刷したいなら、シンプルなGFMの表を書き、ページに収まる幅に保ち、私たちのMDをPDFに変換するツールのように行を決して半分に切らないレンダラーで書き出しましょう。その後PDFを開いて3つの点を確認します。すべての列が見えること、改ページで行が切れないこと、セルのテキストを選択・検索できることです。

イラスト:長い表が入った2枚のA4ページ。上にヘッダー行があり、どのページの行も切れていない

短い答え:GFMの表+行を切らないレンダラー

Markdownの表は GitHub Flavored Markdown の拡張です。ヘッダー行、区切り行、データ行を縦棒で区切ります。まともな書き出しツールならどれも理解します。違いが出るのは、表がページの端にぶつかるとき、つまり右側(列が多すぎる)か下側(行が多すぎる)です。

印刷した表が読みやすいかどうかは、3つの点で決まります。ページに対する表の幅、改ページで起きること、そして結果が本物のテキストかどうかです。このガイドの残りでは、2026年10月18日に私たち自身の書き出しツールで測った数字とともに、それぞれを順に扱います。

スクリーンショット:私たちのエディターで表のあるMarkdownをPDFに印刷。左にMarkdown、右に表示された表
スクリーンショット:私たちのエディターでの表のあるMarkdown。PDFはライブプレビューと同じレイアウトを使います。

きれいに印刷できる表を書く

表のあるMarkdownをPDFに印刷するとき、問題のほとんどは元のファイルで始まります。いくつかの習慣で防げます。

  • セルは短く。 長い説明は表の下の段落に入れ、セルには短い言葉を入れます。
  • 数字をそろえる。 区切りを ---: にすると列が右寄せになり、紙の上で数字を比べやすくなります。
  • 必ずヘッダー行を。 GFMでは必須で、表が2ページ目に続いたときに読む人が探すのもこの行です。
  • スペースのない長い文字列を避ける。 URLやファイルパスはスペースで折り返せないので、列が広がります。短くするか、脚注風のリストに移しましょう。
  • セル内の縦棒はエスケープ して \| にします。そうしないと、その行に余分な列ができます。
| Task           | Owner | Status    |
| :------------- | :---- | --------: |
| Draft the brief | Dana  | Done      |
| Review tables  | Lee   | In review |
| Export the PDF | Sam   | Next      |
きれいに印刷できる表:短いセル、ヘッダー行が1つ、そろえた列が1つ。

書き出す前に、印刷のおおよその幅で表を見てください。私たちの書き出しツールでは、A4のテキストの列は約680 CSSピクセルです。狭いプレビューですでに横スクロールが出るなら、紙では窮屈になります。

幅の広い表:A4に列が収まらないときの選択肢

イラスト:幅の広い表が縦向きのページからはみ出し、隣には全列が見えるように収めた同じ表

幅の広い表は、PDFの書き出しが黙って失敗する最も多い原因です。この記事のテストを始めたとき、私たち自身のツールで書き出した9列の表は、ヘッダーのセル9個のうち5個しか完全にページに収まらず、最後の列はまったく見えませんでした。残りは右の余白の外にはみ出していたのです。同じ日に書き出しツールを修正しました。はみ出しそうな表は、今ではセルを折り返して収め、再テストでは9列すべてがページに収まり、右の余白の外にテキストはありませんでした。

スクリーンショット:私たちのツールで書き出したPDFのページ。9列の表がページの幅に合わせて折り返されている
実際の書き出し:修正後の9列のテスト用の表。狭いヘッダーのセルは単語の途中で折り返されます。収めるための代償です。

収めるほうが列を失うよりましですが、きれいではありません。とても狭いセルでは単語が分かれます。幅の広い表には、PDFのレイアウトとして次の4つのより良い選択肢があります。上から順に検討してください。

  1. 紙の上では不要な列を削るか、まとめる。
  2. 表を分ける。 IDや名前など、キーとなる列を共有する2つの表にします。
  3. 行と列を入れ替える。 たくさんの列が行になります。
  4. 横向きで印刷する。 私たちの書き出しツールはA4縦しか書き出しません。Chromiumベースの書き出しツールは @page { size: A4 landscape; } のようなCSSの規則を受け付けます(MDN: size)。

複数ページにまたがる長い表

複数ページにまたがる表は、2つの形で失敗します。行が半分に切れて、片方がページの上、もう片方が次のページの下に来ること。そして2ページ目にヘッダー行がなく、読む人が列を見失うことです。1ページより長い表のあるMarkdownをPDFに印刷するなら、どちらも重要です。各行が2行に折り返す60行の表でテストしました。

私たちのテストでは:60行の表をA4に印刷(pdftomd.tools チーム、2026年10月18日)
書き出しツールページ数切れた行ヘッダー行のあるページ
pdftomd.tools MD→PDF404ページ中1
Chrome、PDFとして印刷(Chrome 155.0.8059.84)303ページ中3
Chrome での実行は14 pxのフォントと別の余白を使ったので、ページ数は直接比べられません。
スクリーンショット:私たちのツールで書き出した長い表の最初の2ページ。どのページでも行は切れていない
実際の書き出し:1ページ目と2ページ目。行は改ページできれいに終わっていますが、2ページ目はヘッダー行なしで始まります。

私たちの書き出しツールはどの行も切りませんが、後のページでヘッダー行を繰り返しません。Chrome は両方を行いました。CSS 2.1 の仕様はこれを許していますが、求めてはいません。

“印刷のユーザーエージェントは、表がまたがる各ページでヘッダー行を繰り返してもよい。”
W3C, CSS 2.1、17.2節(翻訳)

今すぐ私たちのツールでヘッダー行を繰り返したいなら、長い表をページに収まる大きさに分け、ヘッダーを自分で繰り返してください。HTMLベースの書き出しツールでは、tr { break-inside: avoid; }(MDN)で、行を切らないようブラウザに頼めます。

表のあるMarkdownをPDFに:ブラウザツール、VS Code、Pandoc

3つの方法はどれも、表のあるMarkdownをPDFに印刷できます。違うのはセットアップと、どれだけ細かく制御できるかです。

書き出しの3つの方法(各ドキュメントと私たち自身のテストによる)
方法表示の仕組み実際の表の扱い
私たちのブラウザツールブラウザでページを組み、pdf-lib でテキストを書き出す行は切れない。ヘッダーは繰り返さない。幅の広い表は折り返す
VS Code と拡張機能 Markdown PDFChrome、Edge、Chromium で印刷独自のスタイルシートと横向きの設定を受け付ける
Pandoc初期設定ではLaTeX経由で変換longtable 環境を使うので、表はページをまたげる

VS Code での表については、拡張機能 Markdown PDF が独自のCSS用の markdown-pdf.styles 設定と、縦向き・横向きのオプションを説明しています。上の Chrome の行と同じエンジンであるChromium系のブラウザで印刷しますが、拡張機能そのものはテストしていません。

Pandoc での表については、Pandoc のマニュアルに、LaTeXの出力は初期設定で longtable を使うので表がページの境目をまたげる、とあります。また、パイプテーブルに列幅より長い行がある場合、相対的な列幅は区切り行のハイフンの数で決まるとも書かれています。HTMLを使わずに列を広くする方法です。

pandoc report.md -o report.pdf
Pandoc の標準のPDFへの方法(LaTeXエンジンのインストールが必要)。

PDFを確認する:選択できるテキスト、検索できるセル

イラスト:表のあるPDFのページ。1行が選択されたテキストとして強調され、セルの上に検索のアイコンがある

表のあるMarkdownをPDFに印刷するときの最後の確認は、テキスト層です。表の書き出しが役に立つのは、セルが本物のテキストの場合だけです。私たち自身のツールの代替モードを含め、一部の書き出しツールは各ページを画像としてPDFに保存します。見た目は良いのですが、検索も、コピーも、スクリーンリーダーでの読み上げもできません。確認は10秒で済みます。PDFを開き、Ctrl+F(またはCmd+F)を押して、表のセルにしかない単語を検索します。次に1行を選択して貼り付けます。

私たちの書き出しツールは、フォントのサブセットを埋め込んだ本物のテキストを書き出します。往復テストでは、4つの表をPDFに印刷し、私たちのPDF→Markdownのツールで戻したところ、17行中17行が元と同じで、エスケープした縦棒や右寄せの数字も含まれていました。逆方向については、PDFの表をMarkdownに変換するガイドを読んでください。

出典

  1. GitHub Flavored Markdown Spec, 4.10 Tables (extension) — GitHub, 2019
  2. CSS 2.1 Specification, 17 Tables — W3C, 2011
  3. break-inside — MDN Web Docs
  4. size (@page descriptor) — MDN Web Docs
  5. Pandoc User’s Guide — pandoc.org
  6. Markdown PDF (VS Code extension) — yzane, Visual Studio Marketplace

よくある質問

表のあるMarkdownをPDFに印刷するには?

ヘッダー行のあるGFMのパイプテーブルを書き、ページに収まる幅に保って、行を切らないツールで書き出します。その後、PDFで切れた列、分かれた行、選択できるテキストを確認してください。

PDFで表の列が切れてしまうのはなぜですか?

表が印刷できる範囲より広く、書き出しツールが縮小しないためです。列を削るか分ける、表の行と列を入れ替える、横向きで印刷する、のいずれかを試してください。私たちの書き出しツールは、今では幅の広い表をページに合わせて折り返します。

ヘッダー行はどのページでも繰り返されますか?

書き出しツールによります。私たちのテストでは、Chrome のPDF印刷はすべてのページで繰り返しましたが、私たち自身の書き出しツールは最初のページにしか表示しません。読む人に必要なら、長い表を分けてください。

Markdownの表を横向きで印刷できますか?

A4縦で書き出す私たちのツールではできません。Chromiumベースのツールはスタイルシートの @page { size: A4 landscape; } を受け付け、VS Code の拡張機能 Markdown PDF には向きの設定があります。

PDFの表のテキストは検索できますか?

私たちの書き出しツールなら、できます。セルはフォントを埋め込んだ本物のテキストです。代わりにページの画像を保存するツールもあるので、念のためセルの単語を検索してください。

PDFをMarkdownに戻すと、ページをまたぐ表は1つにまとまりますか?

いいえ。戻すとページごとに1つの表になります。つなげるには、繰り返されたヘッダー行と区切り行を消してください。方法は表のガイドにあります。