Markdown を PDF に変換

まず Markdown をリアルタイムで確認し、サーバー側の Chrome で最終プレビューをページ分割された PDF にします。表、コードのハイライト、数式、レンダリング済みの図も最終ファイルに含まれます。

オンライン Markdown 表示ツール

Markdown 入力

リッチテキストプレビュー

Markdown を納品に適した PDF に変換する

読み手が Markdown を使わない場合、文書を印刷する場合、レイアウトを固定したい場合には、PDF が一般的な最終形式です。この変換ツールはプレーンテキストをそのまま PDF に入れるのではなく、まず完全なリアルタイムプレビューを表示し、見出し、段落、リスト、表、コードの色、数式、図を確認してから、レンダリング済みの結果からファイルを生成します。そのため、PDF を受け取ってから区切り文字の欠落や表の崩れに気づくのではなく、ダウンロード前に誤りを見つけられます。

エクスポート時には、最終プレビューの HTML と必要な CSS が一時的に本サイトの PDF API に送られ、ヘッドレス Chrome がページ分割を行ってバイナリの PDF をブラウザに返します。この流れで Markdown がオンラインプロジェクトとして作成されることはなく、文書の本文がデータベースや永続ファイルに書き込まれることもありません。ただし、PDF の生成は完全にブラウザ内で行われるわけではなく、レンダリング内容が一時的にサーバーを経由する点にご注意ください。

Markdown を PDF に変換する手順

上の入力欄に Markdown を貼り付けるか、ローカルの .md / .txt ファイルを読み込みます。右側で、表の区切り線、数式のデリミタ、コードフェンスの言語、図の幅を確認してください。プレビューに問題がなければ「PDF にエクスポート」をクリックします。ブラウザは Chrome のページレイアウトが完了するのを待ち、markdown-viewer-document.pdf をダウンロードします。

PDF のページ幅は固定のため、幅の広すぎる表、折り返されない長いコード、大きな図は特に注意して確認してください。表の列の内容はできるだけ短くし、コードには適切な折り返しを残し、エクスポート前に図のレンダリングが完了していることを確かめましょう。現在の画面では印刷に適した既定のレイアウトを使用しており、本格的な出版ソフトにある用紙サイズ、余白、ヘッダーの設定はすべて提供していません。印刷用テンプレートを自作したい場合は、先に HTML をエクスポートして専用の印刷スタイルを書くとよいでしょう。

PDF に保持される内容

見出し、段落、強調、リスト、リンク、引用、表、コードブロックには印刷に適したスタイルが適用されます。コードのハイライト色はページのスタイルから取得し、基本の配色を補完として用意しています。MathJax の数式はプレビュー上ですでに SVG になっているため、分数、根号、行列、積分、総和などが鮮明なまま保たれます。レンダリング済みの Mermaid や Vega の図も、最終プレビューの DOM とともにサーバーへ渡されます。

サーバー環境にはプロジェクトと一緒にデプロイされた日本語・中国語フォントが登録されるため、システムに CJK フォントがない環境でも PDF で文字が欠けることはありません。出力は Web のレイアウトに基づくため、具体的な折り返し、フォントメトリクス、複雑な改ページはプロのデスクトップ組版ソフトと異なる場合があります。レイアウトに厳しい要件がある場合は、ダウンロード後に 1 ページずつ確認してから送付・保管してください。

PDF が向いている場面

印刷するレポート、講義資料、製品説明、顧客向け技術文書、作品サンプル、保管用コピーには PDF が適しています。受け取る側が Markdown ツールをインストールせずに読むだけでよい場合にも便利です。複数人で文章を修正し続けるなら Word、サイトへの公開や CSS のカスタマイズを予定しているなら HTML が適しています。

この変換ツールは登録なしで使えます。ソースの自動保存は現在のブラウザのローカルストレージに置かれ、PDF エクスポートをクリックしたときだけレンダリング結果がサーバーに送信されます。こうした処理方法の違いを明確にしておくと、文書の機密性に応じて適切な形式を選びやすくなります。

  • 印刷や固定レイアウトでの共有に最適
  • 最終的なリアルタイムプレビューを入力として使用
  • コード、数式、表、レンダリング済みの図に対応
  • PDF 生成時には一時的なサーバーリクエストが発生

改ページの確認とよくある問題への対処

リアルタイムプレビューは連続した Web レイアウトですが、PDF では同じ内容を固定サイズのページに分割する必要があるため、両者の違いが最も出やすいのは改ページです。エクスポート前に、長い表、連続するコードブロック、大きな図の近くに自然な段落を入れておくと、改ページ処理が適切な区切り位置を見つけやすくなります。折り返せない長い URL やコードが 1 行にある場合は、短いリンクにする、手動で改行する、詳細を付録に回すなどして、内容がページの端に押し込まれないようにしてください。

クリックしてもすぐにダウンロードされない場合は、まず数式と Mermaid 図のレンダリングが終わるのを待ってから再度エクスポートし、次にネットワーク接続とブラウザがダウンロードをブロックしていないかを確認してください。PDF API は Chrome の起動、フォントの読み込み、印刷レイアウトを完了する必要があるため、複雑な文書はプレーンテキストのレポートより時間がかかります。最終ファイルで図が空白になる場合は、プレビュー上で図が表示されていることをまず確認してください。フォントや記号の表示が崩れる場合は、問題の箇所を残したままお問い合わせページから連絡いただければ、具体的な文字とレイアウトを再現できます。

関連する Markdown ツールを見る

Markdown Viewer に戻ってファイルを確認したり、完全な Markdown ガイドを読んだり、別のエクスポート形式を選んだりできます。

Markdown PDF 変換のよくある質問

この Markdown PDF 変換ツールはどのようにファイルを生成しますか?

まず Markdown を HTML にレンダリングし、最終的な HTML と関連する CSS を本サイトの PDF API に送信して、ヘッドレス Chrome がページ分割を行います。サーバーから PDF が返されると、ブラウザが自動的にダウンロードします。

数式やコードのハイライトは PDF に反映されますか?

MathJax の数式とシンタックスハイライト付きのコードは、最終プレビューから PDF に取り込まれます。ページのスタイルが利用できない場合は、サーバー側で基本のハイライト色も補います。印刷結果に厳しい要件がある場合は、ダウンロードしたファイルを確認してください。

GFM のテーブルやタスクリストは PDF にエクスポートできますか?

はい。GFM のテーブル、タスクリスト、取り消し線、通常のリスト、リンク、引用は、レンダリングされてからエクスポートされます。幅の広すぎる表は固定のページ幅の制約を受ける場合があるため、プレビューと最終的な PDF の両方を確認してください。

PDF 変換中に文書の内容はアップロードされますか?

PDF の生成時には、レンダリング済みの HTML と CSS が一時的に本サイトのサーバーへ送られ、Chrome がファイルを作成します。アプリが本文をデータベースやプロジェクトファイルに永続的に保存することはありませんが、この工程はブラウザだけで完結する処理ではありません。

なぜ PDF のエクスポートはリアルタイムプレビューより遅いのですか?

リアルタイムプレビューはページ内で完結しますが、PDF ではさらに、ヘッドレスブラウザの起動または接続、文書の読み込み、印刷スタイルの適用、フォントとレイアウトの待機、バイナリファイルの生成、返送が必要です。複雑な数式や図があると処理時間が増えます。