❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 功能:支持多种文件格式转换为 Markdown,包括 PDF、Office 文档、图像和音频等。
- 技术:具备 OCR 文字识别、语音转文字和元数据提取等技术。
- 应用:适用于文档归档、内容发布、数据挖掘和学术研究等场景。
正文(附运行示例)
MarkItDown 是什么
MarkItDown 是微软开源的多功能文档转换工具,能够将 PDF、PPT、Word、Excel、图像、音频、HTML 等多种格式的文件转换为 Markdown 格式。它支持 OCR 文字识别、语音转文字和元数据提取,适用于内容索引、数据挖掘、文档处理等场景。
MarkItDown 以开源免费、功能全面和开发者友好的特点,成为文档智能转换的利器。它极大地简化了文件处理流程,提升了工作效率。
MarkItDown 的主要功能
- 多格式文档转换:支持将 PDF、Office 文档(Word、Excel、PowerPoint)、图片、音频等多种文件格式自动转换为 Markdown 格式。
- 元数据提取:从图片中提取 EXIF 信息、从音频文件中提取元数据。
- OCR 文字识别:对图片和 PDF 文件进行光学字符识别(OCR),将图像中的文本内容转换为可编辑的文本格式。
- 语音转文字:支持从音频文件中提取语音内容并转换成文字,便于内容存档和分析。
- 简易 API:提供简单的 API 接口,开发者可以轻松地在 Python 项目中集成和使用 MarkItDown,进行文档转换。
MarkItDown 的技术原理
- 文件解析:使用不同的解析器读取和解析各种文件格式的内容。
- 文本提取与转换:对于文档类文件(如 Word、Excel、PowerPoint),将文档内容转换为纯文本,并保留结构化信息(如标题、列表等)以适应 Markdown 格式。对于图像文件,使用 OCR 技术识别图像中的文本,转换为文本格式。
- 元数据处理:对于图像和音频文件,提取 EXIF 元数据,包括文件的创建时间、作者、设备信息等。
- 语音转录:对于音频文件,使用语音识别技术将语音内容转录成文本。
如何运行 MarkItDown
命令行使用
markitdown path-to-file.pdf > document.md
你也可以通过管道传递内容:
cat path-to-file.pdf | markitdown
Python API 使用
基本用法:
from markitdown import MarkItDown
md = MarkItDown()
result = md.convert("test.xlsx")
print(result.text_content)
使用大型语言模型(LLM)进行图像描述:
from markitdown import MarkItDown
from openai import OpenAI
client = OpenAI()
md = MarkItDown(llm_client=client, llm_model="gpt-4o")
result = md.convert("example.jpg")
print(result.text_content)
Docker 使用
docker build -t markitdown:latest .
docker run --rm -i markitdown:latest < ~/your-file.pdf > output.md
资源
- 项目官网:https://github.com/microsoft/markitdown
- GitHub 仓库:https://github.com/microsoft/markitdown
- PyPI 安装:https://pypi.org/project/markitdown/
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦