MarkItDown 線上版:免安裝的 PDF 替代方案

MarkItDown 是一個 Python 工具,沒有可以在瀏覽器裡打開的東西。如果你手上有 PDF、想馬上得到 Markdown,下面的轉換器就在這個分頁裡完成,不用安裝,也不上傳檔案。

把 PDF 拖到這裡

也可以貼上或選擇檔案。一次最多 20 個,就在這個分頁裡轉換。

手邊沒有檔案?試試

檔案只在這個瀏覽器分頁裡讀取,從不上傳。

MarkItDown 是什麼

MarkItDown 是微軟推出的開源 Python 套件和命令列工具,採用 MIT 授權。它把多種檔案轉換成 Markdown,供語言模型和文字分析使用:PDF、Word、PowerPoint、Excel、HTML、CSV、JSON 和 XML、EPUB、ZIP 壓縮檔等。圖片描述和音訊轉寫會用到網路上的託管服務。

它的長處是涵蓋範圍廣:一次呼叫就能處理一整個混著各種辦公檔案的資料夾。具體到 PDF,內建轉換器用 pdfminer.six 擷取文字,遇到排成表單或表格樣式的頁面則用 pdfplumber。

pdftomd 不是 MarkItDown,也不執行它。 它是另一個只為 PDF 打造的轉換器,在你的瀏覽器裡執行。這一頁說明兩者的差別,以及如果你需要,怎樣自己執行 MarkItDown。

怎樣執行 MarkItDown

需要 Python 3.10 或更新版本。只裝 PDF 相關的相依套件:

pip install 'markitdown[pdf]'

在命令列裡轉換檔案:

markitdown report.pdf -o report.md

或者在 Python 裡:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("report.pdf")
print(result.markdown)

我們的實測就是用 0.1.9 版原樣執行這些指令得到的。要支援 Word、PowerPoint、Excel 等其他格式,把 [pdf] 換成 'markitdown[all]'。

從 PDF 裡能得到什麼

在我們的 16 個公開 PDF 上,MarkItDown 0.1.9 的輸出是這樣的:

  • 沒有標題的純文字。 沒有一份文件得到任何一個 # 標題,報告和論文的大綱都不見了。
  • 保留 PDF 的換行和連字號。 句子在 PDF 每行結尾處被截斷,還有 307 個單字仍被行尾連字號拆開,例如 pur- suant。
  • 頁首頁尾沒拿掉,每頁重複出現。
  • 研究論文缺字。 三篇研究論文的輸出裡,大約缺了一半到四分之三的單字。
  • 掃描檔什麼都沒有。 預設安裝沒有 PDF 的 OCR,所以掃描頁輸出為空。有個外掛 markitdown-ocr,透過你設定的 API 把頁面圖片傳給視覺模型來做 OCR。

對較簡單的文件它表現不錯:法院判決、表單類文件,以及中文、日文和韓文文字,所有單字都保留了下來。逐份文件的完整數據見我們的實測。

同一個 PDF 用 pdftomd

MarkItDown 0.1.9pdftomd
執行在Python,你的電腦上你的瀏覽器,你的電腦上
安裝pip install 'markitdown[pdf]'不需要
格式PDF、Office、HTML、EPUB 等PDF
標題沒有有,根據字級和字重判斷
段落保留 PDF 的換行把行合併成段落
頁首、頁尾、頁碼保留拿掉,有開關可保留
行尾連字號保留對照詞表接回
表格當作文字,表單式頁面當作表格Markdown 表格,有表格的頁面會被標記
掃描版 PDF外掛加雲端視覺模型內建瀏覽器內 OCR
token 計數和 RAG 分塊沒有有
授權MIT免費使用

如果你還要轉換 Word 或 PowerPoint 檔案,或者在用 Python 寫處理流程,MarkItDown 比較實用。處理 PDF,尤其是想馬上拿到結果,就用本頁頂端的轉換器。

常見問題

MarkItDown 有官方網站嗎?

MarkItDown 以 Python 套件的形式發布在 GitHub 上。微軟沒有把它做成網站,所以叫「MarkItDown 線上」的網站都是第三方經營的,背後用的引擎也各不相同。pdftomd 不執行 MarkItDown,也不上傳你的檔案。

MarkItDown 能讀掃描版 PDF 嗎?

預設安裝不行。你可以加裝 markitdown-ocr 外掛,把圖片傳給你設定的視覺模型,或者用 Azure Document Intelligence 選項,這是微軟的付費雲端服務。pdftomd 用在瀏覽器裡執行的 OCR 模型讀取掃描檔,見 掃描版 PDF 轉 Markdown。

給 LLM 餵文件,哪個比較好?

對 PDF 來說,有標題、段落已合併、沒有重複頁首的輸出,模型比較容易讀懂,也更省 token。pdftomd 還會顯示 token 數,並能把文件切成分塊。見 給 LLM 用的 PDF 轉 Markdown。

Python 裡還有哪些選擇?

PyMuPDF4LLM、Docling 和 Marker 都能把 PDF 轉成 Markdown,各有所長,授權也不同。用 Python 把 PDF 轉成 Markdown 裡有每個工具能直接執行的程式碼。

MarkItDown 是微軟的專案。pdftomd 是獨立網站,與微軟沒有關聯。