AI

MarkItDown:Microsoft 的通用文件轉 Markdown 轉換器

MarkItDown 是 Microsoft 的工具,用於將文件(PDF、DOCX、PPTX、Excel、圖片)轉換為 Markdown,以便 LLM 處理和 RAG 流程使用。

Keeping this site alive takes effort — your support means everything.
無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分! 無程式碼也能輕鬆打造專業LINE官方帳號!一鍵導入模板,讓AI助你行銷加分!
MarkItDown:Microsoft 的通用文件轉 Markdown 轉換器

任何文件理解 AI 流程的第一步是將原始文件轉換為機器可讀的文字。這個看似簡單的任務充滿了挑戰:具有複雜佈局的 PDF、沒有可提取文字的掃描文件、帶有合併儲存格的 Excel 檔案、帶有嵌入圖片的 PowerPoint。MarkItDown,Microsoft 的開源文件轉換工具,正面應對這些挑戰,將多種文件格式轉換為乾淨、LLM 友好的 Markdown。

MarkItDown 由 Microsoft 開發以解決一個實際問題:如何將企業文件的廣闊宇宙——PDF 報告、Word 文件、PowerPoint 簡報、Excel 試算表、掃描圖片——饋入 AI 系統進行處理。答案是將所有內容轉換為 Markdown,這種格式保留文件結構(標題、列表、表格、強調),同時足夠輕量級以最大化 LLM 上下文視窗內的可使用內容。

該工具已迅速成為 AI 文件處理堆疊的重要組成部分,用於 RAG 流程、文件問答系統、內容遷移工作流程,以及任何需要將多種文件格式統一為一致、AI 可讀格式的場景。


MarkItDown 的文件處理流程如何運作?

MarkItDown 對每種文件類型應用特定格式的解析策略。

graph LR
    A[輸入文件] --> B{格式偵測}
    B --> C[PDF\n佈局分析 + 文字提取]
    B --> D[DOCX\nXML 解析, 結構保留]
    B --> E[PPTX\n逐張投影片提取]
    B --> F[XLSX\n細胞感知表格提取]
    B --> G[圖片\nOCR 文字辨識]
    B --> H[HTML\n基於 DOM 的乾淨提取]
    C --> I[Markdown 輸出\n結構化文字]
    D --> I
    E --> I
    F --> I
    G --> I
    H --> I

每個格式處理器針對其特定的文件類型進行最佳化,應用最適當的解析策略來提取乾淨、結構化的文字。


MarkItDown 支援哪些文件格式?

MarkItDown 支援企業環境中所有常見的文件格式。

格式副檔名解析策略輸出品質
PDF.pdf文字提取 + 佈局分析優秀(數位),良好(掃描 + OCR)
Word.docxXML 文件解析優秀(完整結構保留)
PowerPoint.pptx逐張投影片提取優秀(備註、文字、投影片順序)
Excel.xlsx細胞感知表格解析優秀(處理合併儲存格)
圖片.png、.jpg、.tiffOCR(Tesseract)良好(取決於圖片品質)
HTML.html、.htmDOM 遍歷、標籤剝離優秀
CSV.csv分隔符號解析優秀
JSON.json結構保留轉換良好
ZIP.zip遞迴提取取決於格式

每種格式都產生一致結構化的 Markdown 輸出,實現統一的下游處理。


MarkItDown 如何處理具有挑戰性的文件特性?

不同的文件類型呈現特定的挑戰,MarkItDown 透過專門處理來解決。

挑戰解決方案格式
PDF 多欄佈局佈局分析、閱讀順序偵測PDF
掃描文件(純圖像 PDF)OCR 引擎整合PDF、圖片
合併的 Excel 儲存格儲存格擴展、行/列追蹤XLSX
帶文字的嵌入圖片圖像文字的 OCR 提取所有格式
複雜表格逐細胞提取、標題偵測PDF、DOCX、XLSX
投影片備註與投影片內容分開提取PPTX

目標是產生準確表示原始文件內容和結構的 Markdown。


如何在 Python 和 CLI 中使用 MarkItDown?

MarkItDown 提供用於程式化使用的 Python API 和用於快速轉換的 CLI。

介面命令 / 程式碼使用案例
Python APIMarkItDown().convert("document.pdf")程式化流程
CLImarkitdown document.pdf > output.md快速轉換
批次處理使用 Python API 迴圈大型文件集合
API 整合作為函式庫匯入RAG 流程整合

Python API 是生產使用的主要介面,提供對轉換選項和錯誤處理的完全控制。


常見問題

什麼是 MarkItDown? Microsoft 的開源 Python 工具,用於將多種文件格式轉換為乾淨的 Markdown。

為什麼選擇 Markdown? 它在結構保留和 token 效率之間取得最佳平衡,對 LLM 處理友好。

如何處理圖片? 透過元資料提取、OCR 和可選的 AI 驅動圖片描述。

與 Pandoc 相比如何? 更專注於 LLM 友好的輸出,具有更好的表格處理和整合的 OCR。

可以整合到自動化流程中嗎? 是的,提供 Python API、CLI,並且可以整合到 CI/CD 和 RAG 系統中。


延伸閱讀

TAG