一個完全在您的瀏覽器中執行、無需上傳檔案的 PDF 轉 Markdown 轉換,並非一鍵就能完成的工作,因為 PDF 檔案儲存的是定位後的文字而非標題樣式,因此若要進行忠實的結構轉換,需要原始的 Word 文件——也就是當初用來建立該 PDF 的那份。可靠的捷徑是:將該 PDF 的來源儲存為一個 .docx 檔案 — Microsoft Word、Google Docs 和 LibreOffice 都能將 PDF 來回轉換後重新匯出為 DOCX,並保留原始的標題樣式 — 接著再用 DOCX to Markdown Converter 處理該 DOCX。這個工具會在本機瀏覽器中讀取 .docx 套件,將 Heading 1–6 段落擷取為 Markdown 標題、一般段落擷取為純文字,並將簡單的矩形表格擷取為管線表格 (pipe table),然後提供一個可下載的 .md 檔案給您。這條兩步驟的路徑 — 先將 PDF 來回轉換為 DOCX,再在本機把 DOCX 轉成 Markdown — 比任何宣稱能直接讀取原始 PDF 的瀏覽器工具都更快、更乾淨,因爲這時轉換器是依據明確的 Word 結構來運作,而非從字級大小去猜測哪裡應該是標題。

為什麼在瀏覽器中把 PDF 轉成 Markdown 很難
PDF 是頁面的描述資訊。它知道每個字符在頁面上的位置、使用什麼字型,以及是否為粗體或稍微大一號的字 — 但它並不知道一個 16 點粗體段落究竟是一個章節標題、一個側邊欄標籤,還是僅僅只是強調過的內文。要將 PDF 轉成 Markdown,工具必須依賴視覺線索來猜測標題層級(這並不可靠),或是仰賴一份大多數 PDF 並未隨附的結構化中繼資料。這就是為什麼專門的 PDF 轉 Markdown 流程通常會在伺服器端執行重量級的 OCR 搭配版面模型,或是使用像 Pandoc 這類搭配本機 TeX 安裝的命令列工具。
一個只在瀏覽器中載入 PDF 並輸出 Markdown 的工具,必須僅憑字級大小,對每一個標題、每一個清單以及每一個表格進行有根據的猜測。即便這些猜測在大多數情況下是正確的,一旦遇到說明文字、引文區塊、側邊欄標籤,以及剛好設定成與真正標題相同大小的圖片註解,就會失效。結果便是乍看之下合理的 Markdown,但仔細檢視後卻悄悄地曲解了文件的結構。將 PDF 內容複製貼上到 Markdown 編輯器一次,通常比自動化的 PDF 轉 Markdown 步驟產生更乾淨的輸出,這本身就是一個很強的訊號,代表瓶頸在於輸入格式本身,而非轉換器。
DOCX 捷徑:為什麼它的效果更好
.docx 檔案其實是一個由多個 XML 部件組成的 ZIP 套件,其中一個部件 — word/document.xml — 會以具有明確樣式參考的段落樹狀結構來保存文件內容。當一個段落被標記為 Word 樣式 "Heading 1" 時,這個事實會直接編碼在 XML 中,而不是由外觀推斷而來。DOCX to Markdown Converter 會解析該 XML,並將每個明確的 Heading 1 到 Heading 6 段落對應到相對應的 #、## 或 ###### Markdown 標題,完全無需猜測。
如果您的 PDF 是從 Word 文件產生的,最乾淨的做法就是在 Word、Google Docs 或 LibreOffice 中重新開啟原始的 .docx,並將它匯出為一份新的 .docx(Word:檔案 → 另存新檔 → Word 文件;Google Docs:檔案 → 下載 → Microsoft Word;LibreOffice:檔案 → 另存新檔 → Word 2007–365)。對於您手上只有 PDF 版本的情況,只要在 Word 中開啟它並重新儲存,就能建立一份復原了大部分原始結構的 DOCX。一旦 .docx 存到您的裝置上,轉換器就能完成 PDF 做不到的結構化工作。
用三個步驟將您的 DOCX 轉成 Markdown
- 在瀏覽器中開啟 DOCX to Markdown Converter,並點擊檔案選擇器。從您的裝置中選擇 .docx 檔案。在開始任何擷取動作前,瀏覽器會先驗證該檔案是否為具有合理大小且可辨識的 word/document.xml 項目的真正 DOCX ZIP 套件。
- 閱讀出現在頁面上文字區域中的 Markdown 預覽。標題會以 #、## 等形式呈現;一般段落保持為純文字;任何簡單的矩形表格會以 Markdown 管線表格呈現,並以第一列作為標題列。這正是下載前快速檢視標題與表格標題的時機。
- 點擊下載按鈕將 .md 檔案儲存到您的裝置上。在您的 Markdown 編輯器、文件網站、儲存庫或靜態網站工具中開啟它,並進行轉換器所建議的小幅編修作業:確認標題確實是標題、修正任何依賴 Word 特定行為的連結或清單,以及移除不再適合目的地的暫存格式。
如果您還希望採用讓所有作業都在瀏覽器內完成、不使用命令列工具的完整工作流程,這份在瀏覽器中將 DOCX 轉成 Markdown 的指南中介紹了相同的流程,並額外補充了一些關於瀏覽器支援,以及當預覽結果與來源看起來不同時該如何處理的說明。
轉換器會處理什麼 — 又會跳過什麼
這個轉換在本質上是結構性的,而非視覺性的。下表列出轉換器對各種常見 Word 功能所做的處理。凡是合約範圍之外的項目,我們都會明確揭露,而不是悄悄地以近似方式處理。
| 來源 .docx 中的 Word 功能 | DOCX to Markdown Converter 的處理方式 |
|---|---|
| Heading 1–6 段落樣式 | 轉為對應的 # 到 ###### Markdown 標題 |
| Normal、Body Text 及其他類似段落樣式 | 保持為純文字的 Markdown 段落 |
| 簡單的矩形表格 | 轉為 Markdown 管線表格,並以第一列作為標題列 |
| 合併、巢狀或行列不齊的表格 | 退回為可讀的 Tab 分隔文字,以避免內容遺失 |
| 段落中的 Tab 與強制換行 | 在輸出中予以保留顯示,而不是悄悄刪除 |
| 表格儲存格中的 Markdown 敏感字元 | 進行跳脫處理,避免管線符號與反引號破壞管線表格 |
| 自訂段落樣式與僅有粗體格式的標題 | 維持為一般段落 — 轉換器不會依據視覺線索猜測標題 |
| 圖片、圖形、圖表、文字方塊 | 不在合約範圍內 — 不會擷取至 .md 檔案中 |
| 註解、追蹤修訂、欄位、引文 | 不在合約範圍內 — 在 Markdown 中不會呈現 |
| 自訂字型、段落間距、欄位、頁碼 | 不在合約範圍內 — Markdown 沒有對應的表示方式 |
一個實用的事前檢查方式,是開啟來源 .docx,將樣式窗格切換為顯示段落樣式,並確認您在意的小節確實被標記為 Heading 1、Heading 2 等。若某個小節標題只是粗體的內文,轉換器會刻意將它保留為段落 — 這是設計上的選擇 — 因爲猜測標題會產生錯誤的文件結構,未來的編輯者還得再想辦法還原。
下載後清理 Markdown
Markdown 是原始內容,因此在任何文档轉換之後進行小幅編修都是正常的,而轉換器也預期使用者會這麼做。請在您的編輯器中開啟 .md 檔案,在發布前先完整檢視一次。
確認每個 Markdown 標題對應到原始文件中的真實小節標題,而不是僅僅外觀像標題的樣式段落。檢查表格標題是否能準確描述各欄 — 轉換器有時會把第一列當作標題列,但原始的 Word 表格實際上可能是由一個標籤列加上一個資料列所組成。修復任何依賴 Word 特定行為的連結或編號清單,因爲 Word 的清單編號以及 DOCX 的超連結,與 CommonMark 之間並不存在乾淨的一對一對應。移除任何不應存在於目標位置的暫存格式 — 例如殘留的分頁提示、在純 Markdown 中讀起來不順的 Word 樣式強調效果,或是存活下來變成 Tab 分隔文字而需要手動重新排版的表格儲存格。
如果您的真正目的只是要取得沒有任何 Markdown 語法的可讀文字,那麼獨立的 DOCX to Text Converter 會是更乾淨的選擇,可以徹底避免標題對應上的模糊地帶。
確保轉換過程的隱私性
DOCX 從未離開您的裝置。瀏覽器會驗證 ZIP 套件,僅透過本機 ZIP 函式庫讀取 word/document.xml 項目,並使用瀏覽器內建的 DOM 解析器來解析該 XML。無論是原始 XML 或任何擷取出的文字,都不會以原始 HTML 的形式插入到頁面中,因此即使是格式錯誤的文件也無法在預覽區域中注入指令碼。您在唯讀預覽中看到的 Markdown,就是會被下載的 Markdown — 中間沒有任何伺服器端的轉換步驟,也沒有任何檔案副本會離開這個分頁。
受到密碼保護、損毀、不受支援或大小超出限制的 Office 套件,會在事先就被拒絕,並顯示清楚的訊息,而不是產出一個轉換到一半的檔案。如果您的轉換被拒絕,該檔案幾乎可以確定超出了文件所記載的合約範圍 — 請在 Word 或 LibreOffice 中開啟它,將它重新儲存為一份新的 .docx,然後再試一次轉換。對於包含大量嵌入圖片,或是 Markdown 無法呈現的設計密集型版面的文件,合理的期待是一份結構性的草稿,而不是忠實的複本 — 而進行一次小幅的編修,正是縮短 Word 能表達的內容與 Markdown 能承載的內容之間差距的正確做法。