Markdown を PDF にするということ
Markdown は、文書を書くのがいちばん楽で、送るのがいちばん面倒な形式です。
メモも、README も、仕様書も、報告書も書き上がっています。エディタの中では完璧です。ところが「PDF でください」と言われた瞬間、選択肢はこうなります。ツールチェーンを入れるか、ワープロに貼って書式を手で直すか、リポジトリに上げて画面を撮るか。
代わりに、ここに貼ってください。 右のプレビューがそのまま PDF になり、ボタンを押せばファイルになります。
そのまま残るもの
GitHub 風 Markdown に期待するものは、ひととおり残ります。
- 見出し — すべてのレベルを、文書らしい余白で
- 箇条書き — 記号つき、番号つき、入れ子も
- 表 — 罫線と、色のついた見出し行つき
- コード — 文中の こういうもの と、字下げを保ったコードブロック
- 引用、罫線、太字、*斜体*、リンク
- 画像 — data URI か、読み込めるアドレスであれば
プレビューと PDF は同じスタイルシートから描かれます。見えているものが、そのまま印刷されるものです。あとから驚かされる二度目のレイアウト工程はありません。
2 つのスタイル
- 落ち着いた文書 — セリフ書体とゆったりした行間。報告書、提案書、読み物など、人が最初から最後まで読むものに向いています。
- README 風 — サンセリフ書体に下線つきの見出しで、コードホスティングで見る README に近い見た目です。技術文書やドキュメントに向いています。
紙面の設定
A4 か Letter、縦か横、そして余白をミリ単位で指定できます。横向きは、幅の広い表や長いコード行があるときに思い出す価値があります。表が収まるか折り返すかの分かれ目になります。
ページ番号は既定でオンで、各ページの下中央に入ります。1 ページだけの文書では邪魔になるだけなので、オフにしてください。
端末から出ていきません
Markdown の描画も PDF の書き出しも、すべてブラウザの中で行われます。アップロードはされません。つまり:
- 未公開の仕様書、社内メモ、受託作業はその場にとどまります
- アップロードによるファイルサイズの制限がありません
- ページさえ読み込めば、オフラインでも動きます
- 書きかけの文章はこのブラウザに保存されるので、タブを閉じても失われません。そしてこのブラウザの外には出ません
なぜ文字ではなく絵として描くのか
各ページは PDF の文字として書き込むのではなく、画像として描いてから配置しています。これは意図的です。PDF の標準フォントはハングル・かな・漢字・キリル文字をまったく扱えませんが、Markdown の文書はどの言語でもありえます。
画面に描く方法ならお使いの端末のフォントが使われるので、どの文字体系も正しく表示されます。代償として、できあがった PDF の文字は選択できません。Word を PDF に が同じ理由で選んでいるのと同じ割り切りです。ラテン文字だけの文書で、選択できる文字が必要なら、履歴書ビルダー がもう一方のやり方の例です。
こんなものを変換しています
- コードホスティングを使わない相手に渡す README やドキュメント
- Markdown で書いた議事録を、文書として送る
- テキストエディタで起こした仕様書や提案書
- 印刷したりタブレットで読んだりするための学習ノート
- メールに添付する変更履歴やリリースノート
- Markdown で書いて PDF で配る授業資料
知っておくとよいこと
- Markdown の中の生の HTML は描画前に無害化されるので、貼り付けた文書が何かを実行することはありません
- とても長い文書は 1 ページあたり数秒かかります。処理はすべて手元で行われます
- インターネット上の画像は、その配信元が他のページからの読み込みを許可している場合にのみ表示されます。data URI として貼り付けた画像は常に表示されます
- 逆方向や、単に Markdown を書きたいだけのときは Markdown エディタ をどうぞ
- できあがった PDF を別の PDF とつなぐには PDF を結合 を使ってください
使い方
- 左に Markdown を貼り付けるか、.md を開くでファイルを読み込みます
- 右のプレビューを確認します。それがそのまま PDF になります
- 用紙サイズ、向き、余白、スタイルを選びます
- 必要ならページ番号を入れるにチェックを入れます
- PDF を作成を押し、PDF をダウンロードします
関連ツール
- Markdown エディタ — ツールバーとライブプレビューで Markdown を書く
- Word を PDF に — 同じ PDF エンジン。.docx から始める場合
- PDF をテキストに — PDF からプレーンテキストを取り出す
- PDF を結合 — この PDF を他の PDF とつなぐ
- PDF にページ番号を追加 — 既存の PDF に番号を振る
- PDF を圧縮 — 送る前にファイルを小さくする