Python 工具用于将文件和办公文档转换为 Markdown 格式。
[!IMPORTANT] MarkItDown 以当前进程的权限执行 I/O 操作。与 open() 或 requests.get() 类似,它将访问进程本身可以访问的资源。在不可信的环境中对输入进行校验,并调用您的用例所需的最窄的
convert_*函数(例如convert_stream()或convert_local())。有关更多信息,请参阅文档中的“安全考虑”部分。
MarkItDown 是一个轻量级的 Python 工具,用于将各种文件转换为 Markdown 供 LLM 和相关文本分析管线使用。为此,它与 textract 最为相似,但其重点是将重要的文档结构和内容保留为 Markdown(包括:标题、列表、表格、链接等)。虽然输出通常是合理的、人类友好的,但其主要是为文本分析工具所用,可能不适合用于高保真的文档转换以供人类使用。
Markdown 与纯文本非常接近,标记或格式化极少,但仍然提供了表示重要文档结构的方式。主流 LLM,如 OpenAI 的 GPT-4o,本身就支持 Markdown,而且通常会在不提示的情况下将 Markdown 纳入其响应中。这表明它们已经在大量 Markdown 格式化的文本上进行了训练,并对其有着深刻的理解。作为一项附加优势,Markdown 规范也具有高效的 token 使用率。
使用标准的 Python 安装,您可以使用以下命令创建和激活虚拟环境:
您还可以通过管道传输内容: 可选依赖项 MarkItDown 为激活各种文件格式提供了可选依赖项。在本文档的前面部分,我们使用 [all] 选项安装了所有可选依赖项。不过,您也可以单独安装它们,以获得更大的控制。例如:
[all] 安装所有可选依赖项MarkItDown 还支持第三方插件。默认情况下,插件被禁用。要列出已安装的插件:
尽管在 0.0.1a7 中修复了初始化问题,但 VS Code MCP 图库仍然安装了 0.0.1a4
PDF: 一个表格式页面使文档的其余部分交错显示两列文本
DOCX 算术:带有多个参数的分隔符只保留最后一个参数
PPTX: 同一行的形状以顶部为先读取,而不是从左到右读取
PPTX: 一种未识别的形状类型会导致整个演示文稿中止
markitdown-ocr: 在包含嵌入图像的 PDF 页面上将列粘合在一起
1 期实践
agstat.pdf 中的 PDF 从下向上的表头被反转 (0.1.8)
错误: 无扩展的日志流可以呈现为 CSV 表
Docx - 添加一个忽略页眉和页脚的选项