📚 Markitdown
由微軟開源的 Python 工具,用于將多種文件格式轉換為 Markdown 格式
支持:PDF、PowerPoint、Word、Excel、圖像、音頻、HTML、文本格式(CSV、JSON、XML)、ZIP 文件的轉換。
它旨在提供一個簡單且靈活的解決方案,以便在您的應用程序中輕松集成 Markdown 渲染功能。
🌟 核心功能
-
多格式支持: 一鍵轉換 PDF/PPT/Word/Excel/圖像/音頻/HTML 等12+格式
-
智能處理:
-
圖像 OCR文字識別 (支持中文掃描件)
-
音頻 語音轉文字 (支持英文優先)
-
集成 GPT-4o 生成圖像描述
-
開發者友好: 提供Python API及Docker部署方案
-
🚀 特性
-
輕量級:小巧的庫,易于集成。
-
快速:高效的 Markdown 解析和渲染。
-
可擴展:支持自定義插件和擴展功能。
-
易于使用:簡單的 API,快速上手。
🔧 典型應用場景
- 文檔歸檔: 批量轉換Office文件為Markdown
- 知識庫構建: 整合OCR文本+語音轉錄內容
- 自動化流程: 結合CI/CD實現文檔發布流水線
🛠? 快速安裝
# 基礎安裝 (Python 3.10+)
pip install markitdown[all]
或從源碼安裝
git clone https://github.com/microsoft/markitdown
cd markitdown
pip install -e .
🛠? 使用
📖 使用示例
命令行工具
# 轉換PDF到Markdown
markitdown input.pdf -o output.md
# 管道操作
cat input.docx | markitdown > output.md
或者使用-o指定輸出文件:
markitdown path-to-file.pdf -o document.md
可選依賴項
MarkItDown 有可選的依賴項用于激活各種文件格式。在本文檔的前面,可以使用 [all] 選項安裝了所有可選依賴項。當然,您也可以單獨安裝它們以獲得更多的控制權。
例如:
pip install 'markitdown[pdf, docx, pptx]'
將僅安裝PDF、DOCX和PPTX文件所需的依賴項。
目前,以下可選依賴項可用:
- [all]安裝所有可選依賴項 [pptx]為PowerPoint文件安裝依賴項
- [docx]為Word文件安裝依賴項
- [xlsx]為Excel文件安裝依賴項
- [xls]為舊的Excel文件安裝依賴項
- [pdf]為PDF文件安裝依賴項
- [outlook]為 Outlook 消息安裝依賴項
- [az-doc-intel]安裝 Azure 文檔智能所需的依賴項
- [audio-transcription]安裝用于WAV和MP3文件音頻轉錄的依賴項
- [youtube-transcription]安裝獲取 YouTube 視頻字幕所需的依賴項
插件
MarkItDown 還支持第三方插件。插件默認禁用。
以下操作可列出已安裝的插件:
markitdown --list-plugins
啟用插件使用:
markitdown --use-plugins path-to-file.pdf
要查找可用的插件,請在GitHub上搜索該標簽#markitdown-plugin。
Azure 文檔智能
要使用 Microsoft 文檔智能進行轉換:
markitdown path-to-file.pdf -o document.md -d -e "<document_intelligence_endpoint>"
Python 應用程序編程接口
在 Python 中的基本用法:
from markitdown import MarkItDownmd = MarkItDown(enable_plugins=False) # Set to True to enable plugins
result = md.convert("test.xlsx")
print(result.text_content)
Python中的文檔智能轉換:
from markitdown import MarkItDownmd = MarkItDown(docintel_endpoint="<document_intelligence_endpoint>")
result = md.convert("test.pdf")
print(result.text_content)
要使用大語言模型進行圖像描述,請提供 llm_client 和 llm_model:
from markitdown import MarkItDown
from openai import OpenAIclient = OpenAI()
md = MarkItDown(llm_client=client, llm_model="gpt-4o")
result = md.convert("example.jpg")
print(result.text_content)
📚 運行測試和檢查
導航到 MarkItDown 包:
cd packages/markitdown
安裝 hatch 在您的環境中并運行測試:
pip install hatch # Other ways of installing hatch: https://hatch.pypa.io/dev/install/
hatch shell
hatch test
(替代方案)使用已安裝所有依賴項的Devcontainer:
Reopen the project in Devcontainer and run:
hatch test
在提交 PR 之前運行預提交檢查:pre-commit run --all-files
5、每日資源 在這里
💯 👉【我的更新匯總】
👉項目直達
關注我的CSDN博客
更多資源可以查看我的CSDN博客