最好的 PDF 轉 Markdown 工具:比較測試

從法院判決書、稅率表到一份 1969 年的掃描檔,16 份公開 PDF 分別交給三款轉換工具,用同一套方法評分。腳本是公開的,每個數字你都能自己核對。

最後更新: 2026-11-13

簡短的結論

  • 在把文字擷取出來這件事上,pdftomd 和 PyMuPDF4LLM 不相上下。 在參與評分的 15 份文件上,兩者平均都保留了 99% 的正文。在論文和密集表格上,PyMuPDF4LLM 的閱讀順序維持得略好一些。
  • pdftomd 留給你的清理工作最少。 它去掉每頁重複的頁首、頁尾和頁碼要穩定得多,也沒有留下任何被行尾連字號斷開的詞。三者中只有它不必安裝任何東西就能用,檔案也不會離開你的裝置。
  • MarkItDown 是為多種格式設計的,PDF 不是它的強項。 處理 PDF 時它回傳不帶標題的純文字,保留 PDF 裡的換行和連字號,而且在我們這組檔案裡遺失了論文正文的很大一部分。這次執行中它沒有 PDF 用的 OCR,所以掃描檔輸出為空。
  • 掃描檔方面,pdftomd 和 PyMuPDF4LLM 都幾乎完美地讀出了我們那份掃描的財務報表,連表格也是,前提是 PyMuPDF 裝了 OCR 引擎。

如果你寫 Python,而且 AGPL 授權適合你的專案,PyMuPDF4LLM 是一個出色的函式庫。如果你想現在就在瀏覽器裡拿到結果,不必上傳檔案,請用我們首頁上的轉換器。

結果

PDF 內文的詞有多少進了 Markdown。 越高越好。

文件pdftomdPyMuPDF4LLMPyMuPDF 2.1 + RapidOCR 3.10MarkItDown0.1.9
美國最高法院判決12 頁9,940%10,000%10,000%
NIST 人工智慧框架14 頁9,980%9,970%6,240%
研究論文,單欄15 頁9,790%9,810%2,290%
研究論文,雙欄12 頁9,930%9,920%5,060%
公式較多的論文15 頁9,160%9,330%4,550%
財務報表4 頁10,000%9,820%10,000%
IRS 稅額表8 頁9,980%9,810%9,840%
IRS W-9 表格6 頁9,980%9,940%9,990%
聯準會經濟預測表5 頁9,970%9,950%9,050%
掃描的財務表格2 頁9,930%9,960%0%
中文文本7 頁10,000%10,000%10,000%
日文報告10 頁10,000%10,000%10,000%
韓文文本7 頁10,000%10,000%10,000%
附圖片的產品簡介7 頁9,990%10,000%10,000%
課程投影片12 頁9,850%9,950%10,000%
平均9,900%9,897%7,801%
2026-11-13 以本頁一併公開的腳本測得。分數自動計算,略有波動。每列最好的分數以粗體標示。

那份 1969 年的打字稿掃描檔沒有放進表裡:它唯一的參考文字是掃描器自帶的 OCR,品質太差,無法用來評分。pdftomd 和 PyMuPDF4LLM 都從中得到了可讀的文字,PyMuPDF4LLM 的零散標點更少;MarkItDown 什麼也沒輸出。

測試條件

轉換工具版本執行方式
pdftomd本站,2026-11-13Chromium 中使用預設設定,16 個檔案一次拖入,按 全部下載
PyMuPDF4LLMPyMuPDF 2.1 加 RapidOCR 3.10pymupdf4llm.to_markdown(path)
MarkItDown0.1.9MarkItDown().convert(path).markdown

這些文件都是公開的,挑選時盡量涵蓋大家實際會轉換的類型:

文件頁數難點
美國最高法院判決書12註腳、每頁重複的頁首
NIST 人工智慧風險管理框架14封面、標題、連結
論文,單欄15標題、參考文獻、少量公式
論文,雙欄12跨欄的閱讀順序
公式多的論文15密集的數學公式
Apple 季度財務報表4有框線的財務表格
IRS Publication 15-T 節選8長稅率表、目錄
IRS W-9 表格6表單版面、小字
美國聯準會經濟預測表5多層表頭的寬表格
阿波羅 11 號任務報告,打字稿掃描檔41969 年的掃描檔,沒有文字層
Apple 財務報表,掃描檔2沒有文字層的表格
《世界人權宣言》,中文7CJK 文字
日本銀行《展望報告》節選10日文、圖表
《世界人權宣言》,韓文7韓文
Raspberry Pi 5 產品簡介7圖片、圖片上的文字
史丹佛 CS231n 課程投影片12投影片、大量小圖片

怎麼評分

每份結果都和 poppler 的 pdftotext 從同一份 PDF 擷取的文字比較。

  • 找到的詞是參考文字中的詞出現在 Markdown 裡的比例。每頁重複的頁首、頁尾和頁碼會先從參考文字中去掉,這樣像 pdftomd 預設那樣刪掉它們的轉換工具不會因此扣分。中文、日文和韓文按字計算。
  • 閱讀順序是參考文字與結果之間按詞計算的最長共同子序列,佔參考文字的比例。欄位交錯或表格儲存格讀亂時會下降。一兩個百分點的差別可視為誤差。
  • 斷開的詞統計沒有接回去的行尾連字號,例如 pur- suant。
  • 殘留的頁首統計結果中重複出現四次以上的行,這幾乎總是沒去掉的頁首或頁尾。圖片佔位行不計入。

表格方面,我們把 Apple 財務報表的 35 列逐列和 PDF 對照:一列的標籤和每個數值都各自落在自己的儲存格裡、順序正確,才算對。完全正確的列數:pdftomd 30 列,PyMuPDF4LLM 28 列,MarkItDown 5 列。在同一份報表的掃描版上,pdftomd 對了 30 列中的 29 列,PyMuPDF4LLM 30 列全對。

速度

在同一台 4 核心電腦上,pdftomd 在瀏覽器裡用 21 秒轉換完全部 16 份 PDF,其中包括 9 個掃描頁的 OCR。PyMuPDF4LLM 同樣開著 OCR,用了 64 秒;MarkItDown 不做 OCR,用了 11 秒。你的耗時會因硬體而不同,手機比筆電慢。

這個測試說明不了什麼

  • 其中一款轉換工具是我們做的。 我們的清理規則是對照這類文件開發的,這對我們有利。我們公開了腳本,也如實列出我們落後的項目,但做決定之前,請用你自己的 PDF 試一試。
  • 自動評分會漏掉一些問題。 一欄錯位的表格可能一個詞都不少;標題層級錯了在這裡也不扣分。所以 pdftomd 會把有表格的頁面標出來,提醒你檢查。
  • Docling 和 Marker 沒有參加這一輪。 兩者都需要 PyTorch 和下載模型,Marker 還要另外啟動一個推論伺服器。它們都用版面模型,常被推薦用於複雜版面和公式。執行方法見用 Python 把 PDF 轉成 Markdown。
  • 線上轉換工具沒有放進表裡。 它們的引擎會不打招呼地改變,也無法固定版本,測完隔天分數就過時了。

該用哪個轉換工具?

如果你想要用
現在就在瀏覽器裡拿到結果,什麼都不上傳pdftomd
在流程裡使用的 Python 函式庫,而且 AGPL 適合你的專案PyMuPDF4LLM
一個函式庫同時處理 Word、PowerPoint、Excel、HTML 和 PDFMarkItDown,但要知道 PDF 會變成純文字
公式多的論文要最好的效果,而且有 GPUMarker 或 Docling

自己重現

下載測試工具包:裡面有瀏覽器端的執行腳本、給這兩個函式庫用的 Python 執行腳本、評分腳本、產生上表的腳本和原始分數。PDF 來自表中列出的公開來源,確切網址和頁碼範圍寫在工具包的 README(英文)裡。

PyMuPDF4LLM 由 Artifex 開發,MarkItDown 由 Microsoft 開發。pdftomd 與兩者都沒有關聯。