關於「Markdown 轉 PDF」
Markdown 寫起來很舒服,但不是開發人員的讀者,寧可收到一份文件,也不想看一個滿是井字號和星號的檔案。這個工具用 marked 解析你的 Markdown,這是一個採用 MIT 授權的開放原始碼函式庫,遵循 CommonMark 規格,另外支援 GitHub 的兩項擴充:表格和刪除線。解析好的文件會以單一、易讀的樣式排版到 A4 或 Letter 頁面上。
會以格式呈現的元素
- 標題、段落、粗體、斜體和刪除線
- 行內程式碼,以及用圍欄標記的程式碼區塊,以等寬字型排在灰底背景上
- 項目符號清單、編號清單和巢狀清單
- 引言區塊和水平分隔線
- 表格,以簡單的格線呈現
- 連結,在 PDF 中仍然可以點選
樣式是固定的:沒有佈景主題,也無法套用你自己的 CSS。你能控制的只有兩項:紙張大小和基本字級。這讓工具用起來快速、輸出結果一致,比較適合講義、說明文件和報告,而不是精心設計的宣傳手冊。
如何使用「Markdown 轉 PDF」
- 開啟 .md 檔選擇 Markdown 檔,或把它拖到工具上。筆記 App、Wiki 和程式碼儲存庫匯出的檔案都可以使用,只要用的是標準 Markdown 語法。
- 設定紙張和基本字級選擇 A4 或 Letter,再選內文的基本字級。字級小一點,寬表格或很長的程式碼行就能在頁面上放進更多內容。
- 產生並下載按「建立 PDF」後儲存。寄出之前先開啟一次,檢查標題、表格和圖片預留位置是否正確。
常見使用情境
給儲存庫以外的人看的 README
用 Markdown 寫的專案安裝說明,可以變成 PDF 交給客戶或主管,在任何地方都能開啟:安裝步驟是編號清單,指令則放在灰底的程式碼區塊裡。
把會議筆記變成講義
用 Markdown 快速記下的筆記,每個議題一個標題,決議用項目符號列出,再加上一張負責人與日期的小表格,就能變成下次開會可以列印的頁面。
用純文字編輯器寫的作業
課程平台只收 PDF,但你習慣用 Markdown 寫作。把定稿轉換後上傳,標題、引文和資料來源連結都會保留原本的格式。
為什麼圖片會顯示成預留位置
Markdown 透過路徑或網址來引用圖片,例如 。這個頁面不會載入網站以外的檔案,所以引用的圖片不會被抓取。PDF 會在原本的位置顯示一段寫著 [image: alt text] 的預留文字,內容取自方括號中的描述,讓讀者知道這裡原本有一張圖。因此,在 Markdown 裡寫好有意義的替代文字(alt text)是值得的。
如果圖片很重要,請用 JPG 轉 PDF 或 PNG 轉 PDF 把圖片做成 PDF,再用合併 PDF 和轉出的文字合在一起。
各種語言與背後的字型
英文和其他使用拉丁字母的語言,會使用 Helvetica 和 Courier,這是每個 PDF 閱讀器都已內建的標準字型,所以不需要內嵌。希臘文和西里爾字母使用 Roboto,中文和日文則使用 Droid Sans Fallback;這兩種字型都採用 Apache-2.0 授權,並以子集方式內嵌,只包含你的文件用到的字元。中日文字型約 4 MB,只有在 Markdown 確實含有這些字元時,瀏覽器才會下載。
韓文諺文不在這兩種字型的涵蓋範圍內,會顯示成問號。阿拉伯文、希伯來文等由右至左書寫的文字,以及印地文、泰文等複雜文字,都無法正確排版。這些語言的文件,用支援它們的文書處理軟體或瀏覽器轉成 PDF 會比較好。
輸出的品質與大小
PDF 中的所有文字都是向量文字:任何縮放比例下都很銳利,可以搜尋,也可以複製。因為沒有內嵌圖片,字型也經過子集化,一般的 Markdown 文件產生的檔案都很輕巧,方便用電子郵件寄送。在支援的檢視器中,連結都能正常使用。如果要列印並需要頁碼,可以再用 PDF 加頁碼處理一次。
無法呈現的語法
- 圖片,如上所述會變成預留位置。
- 你自訂的樣式:自訂 CSS、佈景主題、顏色和字型選擇。
- CommonMark 以外的擴充語法,但 GitHub 的表格和刪除線除外。註腳、數學公式和用程式碼寫成的圖表都不在支援範圍內,所以你會看到它們的原始文字,而不是呈現後的結果。
- 純文字檔。如果你的檔案其實不是 Markdown,TXT 轉 PDF 會完全照你輸入的樣子保留每一行和每個空格。
解析和頁面排版都在這個瀏覽器分頁中執行;Markdown 和產生的 PDF 都留在你的裝置上。這裡說明如何確認。