当前位置: 首页 > backend >正文

一个由微软开源的 Python 工具,用于将多种文件格式转换为 Markdown 格式

📚 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博客

http://www.xdnf.cn/news/7273.html

相关文章:

  • 【框架安装】win10 配置安装GPU加速的tensorflow和keras教程
  • 3.QMainWindow菜单栏menu bar和工具栏tool bars
  • 分布式事务
  • SID 2025上的天马,用“好屏”技术重构产业叙事
  • 【NLP】36. 从指令微调到人类偏好:构建更有用的大语言模型
  • [Spring Boot]整合Java Mail实现Outlook发送邮件
  • 《AI高效运维体系建设创新》技术连载(四)
  • 数据库连接问题排查全攻略:从服务状态到网络配置的深度解析
  • PCL点云库点云数据处理入门系列教材目录(2025年5月更新....)
  • HttpMessageConverter 的作用是什么? 它是如何实现请求体到对象、对象到响应体的自动转换的(特别是 JSON/XML)?
  • Qwen3 - 0.6B与Bert文本分类实验:深度见解与性能剖析
  • 遨游科普:三防平板是什么?应用在什么场景?
  • Perl数据库测试实战:从基础到高级的完整解决方案
  • 视觉-和-语言导航的综述:任务、方法和未来方向
  • Python编程从入门到实践 PDF 高清版
  • 【深度学习基础】损失函数与优化算法详解:从理论到实践
  • A3B和AWQ 是什么;Safetensors 是什么?
  • 解决 Linux Bash 脚本因换行符问题导致的 “bash^M: No such file or directory“ 错误
  • 在CentOS系统上部署GitLabRunner并配置CICD自动项目集成!
  • ubuntu下配置vscode生成c_cpp_properties.json
  • 【大数据】MapReduce 编程-- PageRank--网页排名算法,用于衡量网页“重要性”-排序网页
  • 展锐Android14及更新版本split_build编译方法
  • 百度OCR:证件识别
  • Python将Excel单元格某一范围生成—截图(进阶版—带样式+批量+多级表头)
  • 《黑马前端ajax+node.js+webpack+git教程》(笔记)——ajax教程(axios教程)
  • 确保高质量的音视频通话,如何最大化利用视频带宽
  • win10 上删除文件夹失败的一个原因:sqlYog 备份/导出关联了该文件夹
  • 【QT】一个界面中嵌入其它界面(二)
  • 星云智控v1.0.0产品发布会圆满举行:以创新技术重构物联网监控新生态
  • 线程池模式与C#中用法