PDF向けにMarkdownを準備する
読みやすいPDFの土台は、読みやすいMarkdownです。文書タイトルにH1、主要章にH2、その下にH3を使い、リスト、表、引用、コードブロックの前後へ空行を入れます。レンダラーが各ブロックを正しく認識しやすくなります。
リンクは「こちら」ではなく、リンク先の内容が分かる文字列にします。画像には代替テキストを付け、URLがログイン不要で取得できるか確認します。コードは言語名をコードフェンスの後へ書くと、対応するレンダラーで読みやすく表示されます。
- H1は文書タイトル、H2は主要章、H3は章内の項目にする
- 表の列数とセル内の文章を必要最小限にする
- 長いURLを本文へ直接並べず、説明的なリンク文字を使う
- コードフェンスに言語名を付ける
- 外部画像のURLと代替テキストを確認する
MarkdownからPDFを生成する
入力とプレビューは内容確認、ダウンロード後のPDFはページ確認という役割分担にします。
- ツールを開くMarkdownを貼り付けるか、.mdまたは.txtファイルを開きます。
- 画面で内容を確認見出し、リスト、表、コード、画像の読み込みを確認します。
- PDFをダウンロードA4縦向きのPDFを生成します。
- 実ファイルを確認改ページ、表幅、コードの折り返し、画像解像度を確認します。リンク先は必要に応じて本文へURLも記載します。
表、コード、画像を崩さないコツ
PDFで最初に問題になりやすいのは幅です。表の列が多い場合は、説明文を短くする、重要列だけ残す、一つの表を二つへ分ける方法が有効です。コードの長い一行は、画面では横スクロールできてもPDFでは折り返しや切れが起きます。サンプル用コードなら意味を変えない範囲で短くします。
外部画像はPDF生成時に取得できる必要があります。ログインが必要な画像、期限付きURL、外部アクセスを拒否する配信元は失敗することがあります。重要な画像は、最終公開工程で管理できる場所へ移してから参照します。
| 要素 | よくある問題 | 対策 |
|---|---|---|
| 表 | 列がページ幅を超える | 列数を減らす、文章を短くする、表を分ける |
| コード | 長い行が切れる | 短い例にする、適切な位置で改行する |
| 画像 | 読み込めない・粗い | 取得可能なURLと解像度を確認する |
| リンク | 画像型PDFでは操作できない場合がある | 説明的な文字列と必要なURLを本文へ書く |
不自然な改ページを減らす
ページ末尾に見出しだけが残ると、次の内容がどこから始まるのか分かりにくくなります。見出しを短くし、直後の段落を極端に長くしないことで改善する場合があります。大きな空行をMarkdownへ入れて位置を調整する方法は、別のページ幅で崩れるためおすすめできません。
長い表やコードブロックは、途中で自然に分割できないことがあります。正式な報告書なら作成途中でPDFを生成し、実際のA4ページで問題を見つけるのが最も確実です。
- 見出しだけがページ下部に残っていないか
- 長い表が切れていないか
- コードの重要部分が読めるか
- 画像とキャプションが別ページに離れていないか
- 重要なリンクが動作するか
日本語PDFで見るポイント
日本語は英単語より文字単位で折り返しやすい一方、英数字が連続するURLやコードは横幅を超えやすくなります。見出しに日本語と長い英語製品名を並べる場合も、意図しない折り返しがないか確認します。
出力結果で日本語が四角い文字になっていないか、拡大しても十分に読めるかを確認します。現在の出力は画像型PDFなので、本文の検索やコピーを要件に含めないでください。
PDF、Word、HTMLの選び方
PDFは閲覧と印刷、Wordは共同編集、HTMLはWeb公開に向いています。原稿となるMarkdownを残しておけば、同じ内容を用途別に出力できます。
| 形式 | 長所 | 注意点 |
|---|---|---|
| 配置を固定して共有・印刷できる | 改ページと幅を実ファイルで確認する | |
| DOCX | コメントや編集を続けられる | Word側で最終書式を整える |
| HTML | WebやCMSで再利用しやすい | 公開先のCSSと安全設定が必要 |
関連ツール
よくある質問
プレビューとPDFが少し違うのはなぜですか?
プレビューは画面幅が変わりますが、PDFは固定サイズです。フォント、画像、表幅、改ページで差が出ます。
PDF内の文字を検索・コピーできますか?
現在の出力は画像型PDFのため、本文の検索やコピーには向きません。選択できる文字や確実なリンク操作が必要ならHTMLまたはDOCXを使ってください。
手動で改ページできますか?
現行エクスポーターに手動改ページ指定がない場合は、見出しやブロックの長さを調整して再生成します。
