在 Mac 上把 PDF 轉成 Markdown 的一個可靠做法,就是完全跳過直接的 PDF 轉 Markdown 工具,改讓檔案先繞道 DOCX:在 Mac 版 Word 中開啟 PDF,或從 Pages 將檔案匯出成 .docx,然後把那個檔案丟進一個在瀏覽器中運作的轉檔工具,讓它在本地端讀取 WordprocessingML,再輸出一個可下載的 .md 檔。之所以會有這個繞路,是因為在 macOS 上,不會把你的文件上傳的可靠 PDF 轉 Markdown 工具相當稀少;而現存的那些 — Marker、pymupdf4llm、MarkItDown — 通常都需要一套多數 Mac 使用者並未具備的 Python 工具鏈。Word 的「另存為 DOCX」以及 Pages 的「匯出至 Word」都能產生一個乾淨的 Office Open XML 套件,由於檔案格式有完整文件記載,加上標題樣式與表格能乾淨地對應到 Markdown 的 #、段落、以及 pipe-table 語法,因此瀏覽器轉檔工具可以穩定地解析它。一旦 .docx 到了 Mac 上,整個轉檔過程都會在用戶端完成 — 檔案不會離開瀏覽器分頁 — 輸出則是一個純文字的 .md 檔,你可以直接放進 Obsidian、文件儲存庫、CMS 編輯器,或任何支援 Markdown 的工具。轉檔工具會直接明白標示的一個限制是:這是一種結構式的轉換,而不是 Word 的渲染器 — 標題、段落、以及簡單表格能在這一來一回中存活;圖片、註解、追蹤修訂、自訂字型、頁碼、欄位、圖形,以及主題樣式則會被刻意捨棄。

how to convert pdf to markdown on mac
如何在 Mac 上把 PDF 轉成 Markdown 而不上傳

為何 macOS 上「PDF 轉 Markdown」的需求一再出現

Mac 使用者會碰上這項任務的情境,其實出奇地具體。研究生想把期刊論文送進本機的大型語言模型;技術文件寫作者正把知識庫從 Word 搬進靜態網站產生器;開發者把長篇 PDF 放在只吃 Markdown 的筆記庫中。在每一種情況下,PDF 只是原作者為了列印而選的傳遞格式;讀者真正在底層想要的其實是結構化文字 — 標題、段落、清單、表格。Markdown 把那份結構保存在一個人類可以在 Git 中比對、推到 CMS、貼進 Obsidian、或交給 AI 助理而不必揹著 PDF 帶來的版面雜訊的檔案中。

問題在於,在 macOS 上「PDF 轉 Markdown」之所以困難,正是因為 PDF 從來就不是設計來被編輯的。大多數直接轉檔工具仰賴疊在 PDF 座標之上的文字萃取,再從字級大小與位置去推測標題與表格。這種啟發式做法對於含有乾淨文字層的 PDF 能產出可用的結果,但對掃描文件、雙欄論文、收據、以及表單,品質就明顯變差。相比之下,DOCX 檔案本身就帶有明確的段落樣式,因此轉檔反而變成查表,而不是猜測。

為何直接的 PDF 轉 Markdown 工具反而礙事

Mac 使用者直接嘗試把 PDF 轉成 Markdown 時,會反覆出現三種模式,而每一種都值得點名它們的缺點。

  • 線上上傳型工具。當下最快,但檔案會離開你的裝置。律師、醫療工作者、研究人員,以及任何處理尚未公開資料的人,通常不能把 PDF 送到第三方伺服器。
  • 離線 Python 工具。像 Marker、pymupdf4llm,以及 MarkItDown 這類工具在 Apple Silicon 上能產出品質很好的結果,但它們要求你安裝 Python、管理虛擬環境,有時還得額外拉進 PyTorch — 為了一次性的轉檔工作,這算得上是個沉重的安裝負擔。
  • VS Code 擴充功能。對在一整個 PDF 資料夾裡反覆操作很有用,但它們仍然會去呼叫外部的轉檔函式庫,而且預設你已經整天待在 VS Code 中。

繞道 DOCX 恰好避開了上述每一項。如果你有 Microsoft 365,Mac 版 Word 早就裝在機器上了;Pages 則是 Apple 免費提供的軟體。兩者都能把 PDF 再匯出成一個瀏覽器分頁讀得了的乾淨 .docx。

把 PDF 帶進 Mac 上可編輯的 DOCX

這是 Mac 特有的步驟,也確實是 macOS 唯一會扮演角色的地方。目標是一個乾淨的 Office Open XML 套件,忠實反映 PDF 的標題與表格,而且沒有掃描影像或密碼保護從中作梗。

選項 A — Mac 版 Word。

  1. 在 Finder 中對 PDF 按右鍵,選擇打開工具 → Microsoft Word,或是把 PDF 拖到一份空白的 Word 文件上。
  2. Word 會跳出正在從 PDF 轉換的警告,請按確定;Word 會渲染出一份可編輯的文件,並套用它推測出的段落樣式 — 通常是 Body、Heading 1、Heading 2、List Paragraph。
  3. 選擇檔案 → 另存新檔,格式設為Word 文件 (.docx),然後把檔案存在原始 PDF 旁邊,或放在一個專屬的資料夾中。
  4. 花個一分鐘確認標題樣式看起來正確:在「常用」索引標籤中,點進每個疑似標題的段落,確認樣式選取器顯示的是 Heading 1 或 Heading 2,而不是只有 Normal。在匯出前,手動調整任何看起來亂掉的樣式。

選項 B — Pages(每台 Mac 上皆免費)。

  1. 打開 Pages,選擇檔案 → 打開,挑選 PDF。Pages 會將它轉成一份可編輯的文件。
  2. 檢查轉出的文件是否保有標題結構。Pages 不見得會套用 Word 的 Heading 1–6 樣式;如果標題只是以純粗體文字呈現,請逐行選取每個標題,手動套用樣式 — 在段落樣式彈出選單中選擇 Heading 1 到 Heading 6 — 因為下游的轉檔工具只看明確的樣式名稱。
  3. 選擇檔案 → 匯出至 → Word,把檔案存成 .docx。

如果 PDF 是掃描影像,不論 Word 或 Pages 都無法交給你一份可編輯的文件;你得先做 OCR(可使用 Apple 內建的預覽 → 檔案 → 匯出 → JPEG搭配 macOS 的 Live Text 擷取功能,或是一個專屬的 OCR 步驟)。沒有文字層的掃描檔在下游只會換回空白頁,所以在繼續之前,請先確認儲存好的 .docx 確實含有可選取的文字。

讓 DOCX 跑過本地端的 Markdown 轉檔工具

手邊有了一份乾淨的 .docx 之後,轉檔本身是三次點擊的工作。打開 DOCX to Markdown Converter,在任何現代瀏覽器(Safari、Chrome 或 Firefox)中執行,接著照著工具顯示的步驟走。

  1. 挑選 .docx 檔案。點擊檔案選擇器,選取你剛匯出的文件。工具會先在本地端驗證這個 Office Open XML 套件 — 檢查大小、ZIP 結構、項目數,以及宣告的展開後大小 — 再載入內部的 ZIP 讀取器。帶有密碼保護、損壞或過大的檔案會以清楚訊息被拒絕,而不是悄悄失敗。
  2. 檢視 Markdown 預覽。轉檔工具使用瀏覽器內的 JSZip 函式庫讀取 word/document.xml,以 DOMParser 解析 WordprocessingML,並在同一頁中渲染出唯讀預覽。你應該會看到明確的 Heading 1 段落變成 #,Heading 2 變成 ##,依此類推;本文段落顯示為純文字;任何簡單的矩形表格會以第一列作為 Markdown 表頭的 pipe-table 形式出現。
  3. 下載 .md 檔。點擊下載控制項以儲存結果。這個檔案就是一份純文字的 .md 檔。在你慣用的編輯器中打開它 — Obsidian、VS Code、iA Writer、Typora,或任何文字編輯器都可以。

整個流程都留在你的 Mac 上:原始文件或渲染出來的 Markdown 沒有任何部分會被上傳,而且 XML 會被解析,而不是以 HTML 的形式注入頁面,所以格式錯誤的套件會讓轉檔失敗,而不是出現怪異的渲染結果。

DOCX 轉 Markdown 的來回中,哪些會存活

由於 Word 儲存的內容遠多於 Markdown 能表達的範圍,這個轉檔工具刻意採取保守作法。下方表格把最常見的 Word 元素對應到它們在 Markdown 中的結果,讓你在打開 .md 檔之前就知道可以期待什麼。

你在 Word 中原本的內容 抵達 Markdown 之後的結果
Heading 1 到 Heading 6 段落樣式 對應的 # 到 ###### 標題
Body Text 或 Normal 段落 純文字段落
簡單的矩形表格 Pipe-table;第一列視為表頭
合併、巢狀或列數不均的表格 改用可讀的 tab 分隔文字,而非產生無效表格
Tab 鍵與明確換行 保留為文字中可見的字元
自訂段落樣式(非 Heading 1–6 者) 視為純段落
以粗體或大字級充當視覺標題 視為純段落 — 轉檔工具不會擅自猜測
圖片、圖形、圖表、文字方塊、SmartArt 不會包含進 .md 檔
註解、追蹤修訂 不會包含
欄位、引用 不會包含

這個肉眼可見的上限是刻意的:從字級去猜測標題層級,只會憑空捏造原始文件沒有的結構;而假裝一個表格是矩形的,則可能會冒險發佈一份誤導人的 Markdown 表格。這兩種錯誤在快速轉檔後都很容易漏看,因此工具選擇不冒這個風險。如果你手上的文件剛好需要那些被捨棄的元素,也有專屬的搭配工具 — 一個 Word Hyperlink Extractor 處理連結,以及一個另外的影像萃取工具 — 而不是把不穩定的行為全塞進同一個轉檔工具中。

在你的編輯器中清理 Markdown 草稿

Markdown 屬於原始內容,所以即使是乾淨的轉檔,一次簡短的編輯修潤仍是工作流程的一環。打開下載回來的 .md 檔,放到目標編輯器中,留意四件事。

  • 標題。確認每個 # 都代表真正的段落標題。Word 有時會把 Heading 樣式套到編號過的圖片標題或側邊欄標籤上;如果有任何看起來不合適之處,就降回純文字,或調整標題層級。
  • 清單。檢查 Word 中較為複雜的清單編號;這類情況會退回 tab 分隔文字,而非 Markdown 清單語法。
  • 表格。確認表頭列中的 pipe 字元能反映文件真正想表達的欄位意義。如果 Word 表格含有合併儲存格,那些儲存格會以 tab 分隔文字的形式出現 — 一眼就看得出來,也很容易重新寫成 Markdown 表格,或乾脆當作純文字保留。
  • 編輯殘留物。移除臨時格式,再次檢查所有連結,並清掉未能搬移過來的文字方塊內容。

對大多數報告來說,花兩三分鐘快速掃一遍就足夠。長篇且充滿表格的技術手冊可能需要十到十五分鐘,尤其是原始文件使用了 Word 中較為複雜的清單編號時,這種編號並不一定能乾淨地對應到 Markdown。

當兩步驟路線不適用時

在 macOS 上,PDF → DOCX → Markdown 這條路徑是純文字層 PDF 的正確預設做法,但有四種情況需要採用不同的做法。

  • 沒有文字層的掃描型 PDF。 請先執行 OCR(例如 Apple 的 Live Text、Adobe Acrobat,或專門的 OCR 工具),讓匯出的 .docx 真的包含可選取的文字。沒有 OCR 的話,匯出的 Word 文件看起來正常,但內容是空白的。
  • 有密碼保護的 PDF。 Word 和 Pages 會在匯出前要求輸入密碼;請先移除保護,再匯出解鎖後的 .docx。瀏覽器的轉檔工具同樣會拒絕鎖定或毀損的 DOCX 套件。
  • 影像密集的版面——型錄、資訊圖表、簡報。 此轉檔工具僅支援文字。對於這類內容,正確的目標通常是在萃取出來的影像檔外再包一層 Markdown,而不是做連續性的文字轉換。
  • 針對數百個檔案的重複轉檔。 處理少數幾份文件時,一次性的瀏覽器分頁就夠了;但面對一整個資料夾的 PDF,就該交給像 pymupdf4llm 這類可撰寫腳本的離線工具來處理。

如果你的目標是直接萃取內容、且完全不要 Markdown 語法,那麼 DOCX 轉文字轉換器 可以處理同一個 DOCX 檔案,一鍵回傳乾淨的純文字——在餵給 LLM、而 Markdown 結構是多餘負擔時特別有用。至於較常見的情況——你想要把 Markdown 用在筆記庫或程式碼儲存庫——上面那條全程都在你裝置上完成的兩步驟 Mac 路線,是最可靠的做法。

如果你正在權衡各種選項,不上傳就把 DOCX 轉成文字 有更詳細的說明。