MarkdownをPDFに変換してもドキュメントを損なわない
Markdownはスクロールする画面向けに書かれています。PDFはページごとに区切られ、ページには端があります。多くの変換ツールはこの違いを無視し、ファイルをブラウザに渡して印刷し、出てきたものをそのまま返します。そのため、表の最後の4列が消えたり、見出しがページの下端に取り残されたり、READMEのロゴがテキストとして生のHTMLで印刷されたりします。このツールはまず紙向けにレイアウトを整え、どのように仕上げたかもお伝えします。
紙面に収まる表
Markdownの表には列幅がありません。構文上、列幅を指定する場所がないため、表をそのままブラウザに渡す変換ツールは、偶然うまく収まることを期待しているだけです。MiniPNGでは、すべての表を描画前に測定し、選択した用紙サイズに合わせて調整します。ファイルパスの表が14列あっても、長い値は折り返されて余白内に収まり、必要ならその旨も結果に記載されます。
もう一つの問題は2ページ目以降です。長い表はヘッダー行が1ページ目に置き去りになり、読者はラベルのない数字のグリッドを見ることになります。MiniPNGでは、表がまたがるすべてのページでヘッダー行が繰り返され、行がページ途中で分断されることもありません。
余白を超えても崩れないコード
フェンス付きコードはハイライトや言語ラベルを保持します。長い行は折り返され、どこで折り返されたかが分かります。PDFにはスクロールバーがないため、折り返されない行は右端が切れてしまいます。インデントブロックや言語指定のないフェンス、インラインコードもそのまま再現されます。
READMEの画像もそのまま
ロゴやビルドバッジの行は、ほとんどの場合Markdownではなく生のHTMLで書かれています。Markdownには画像を中央揃えする方法がないため、READMEではHTMLが使われがちです。HTMLを描画しない変換ツールは、HTMLをエスケープしてテキストとして表示してしまい、ドキュメント冒頭が画像タグの羅列になることも。MiniPNGではマークアップを除去し、画像とその中のテキストだけを残すので、ドキュメントの上部が本来の見た目になります。
画像は取得してファイル内に埋め込まれるため、PDFはオフラインでも1年後でも正しく表示されます。画像が取得できなかった場合も、その数をカウントして結果に記載し、画像が抜け落ちたまま静かに渡されることはありません。
見出しがナビゲーションになる
すべてのPDFには、あなたの見出しから作られたブックマークツリーが付きます。長いドキュメントでもサイドバーから移動でき、目次ページも希望の階層までクリック可能な形で追加できます。一番上の見出しだけはドキュメントのタイトルとして扱われ、リストから除外されます。本のタイトルのような扱いです。
脚注は脚注として残り、上付きのマーカーと本文への戻りリンクが付きます。タスクリストはチェックボックス付きで表示されます。注意・警告・ヒントのコールアウトは色付きバーを保持します。ファイル冒頭のフロントマターはメタデータとして扱われ、本文には表示されません。定義リスト、取り消し線、入れ子の引用、3段階までの入れ子リストもすべて正しく再現されます。
できなかったこともお知らせ
すべての変換結果には、ページ数、テキストの方向、表やコードブロック、埋め込まれた画像の数、取得できなかった画像の数など、変換内容の簡単なレポートが付きます。フォントに足りない文字があれば、その文字もリストされます。目次ページを依頼しても見出しがなければ、その旨を明記し、空白ページだけが先頭に来ることはありません。変換ツールが失敗を隠すと、ユーザーはツールを信頼しなくなります。
ラテン文字以外のスクリプトも対応
フォントはPDF内に埋め込まれるため、どのPCでも同じ見た目で開けます。右から左へ書く言語も、ファイル全体ではなくブロックごとに判定されます。技術文書ではラテン文字(ファイルパスやクラス名)が多く混じるため、この判定が重要です。フェンス付きコードは常に左から右に表示され、他のレイアウトも正しく反転されます。箇条書きや引用バー、表の列も移動します。イタリック体がないスクリプトでは、斜体の代わりに太字で強調します。
できないこと
LaTeXの描画には対応していません。ドル記号で囲まれたブロックは、そのままテキストとして印刷されます。Mermaidも描画されず、「mermaid」とラベル付けされたフェンスはコードブロックとして出力されます。中国語・日本語・韓国語は対応フォント外のため、これらの文字は欠落として報告されます。これらは欠陥ではなく仕様であり、アップロード後に初めて気付くことがないよう明記しています。
使い方
デバイスからアップロード、Google Driveから、またはファイルへのリンクを貼り付けて利用できます。Markdownファイルは一般的な拡張子すべてに対応し、プレーンテキストもOKです。用紙はA3、A4、A5、Letter、Legal、Tabloidから選べ、縦横・余白(狭い・標準・広い)も指定可能。ページ番号やシンタックスハイライトはデフォルトで有効です。1ファイルならPDFで返却、複数ならZIPでまとめて返却、または連番ページ付きの1つのPDFにもできます。テキストは画像化されず、選択・検索・コピーが可能です。
得られるもの
- 余白内に収まる表、すべてのページで繰り返されるヘッダー行
- 長い行も切れずに折り返されるシンタックスハイライト付きコード
- 生のHTMLで書かれたものも含め、ファイル内に埋め込まれた画像
- 見出しから作られるブックマークツリーと、必要に応じてクリック可能な目次ページ
- PDF内に埋め込まれたフォントで、どのPCでも同じ見た目
- 変換できなかった内容(欠落文字や画像など)も明記したレポート
次にできること
Wordファイルから変換したい場合は、WordからPDFへ変換も同じ仕組みで紙向けに整えます。 レポートの他の資料とまとめるならPDFの結合を使いましょう。 送信前にファイルサイズを小さくしたい場合はPDFの圧縮もご利用いただけます。