文章目录
一、前言
1、介绍
MarkItDown 是微软开源的一款强大的文档转换工具,可以将PDF、Office文档、图片等多种格式文件转换为Markdown格式。它还支持集成AI模型来智能处理图片描述。本文将详细介绍如何安装和使用这个工具。
github仓库:https://github.com/microsoft/markitdown
2、主要特性
支持多种文件格式转换:
- PDF文件 (.pdf)
- PowerPoint演示文稿 (.pptx)
- Word文档 (.docx)
- Excel表格 (.xlsx)
- 图片(支持EXIF元数据和OCR)
- 音频(支持EXIF元数据和语音转写)
- HTML(支持维基百科等特殊处理)
- 其他文本格式(csv、json、xml等)
可集成OpenAI等AI模型实现智能描述 简单易用的API接口 支持批量处理文件
二、实践
1、快速开始
(1) 使用pip安装:
pip install markitdown
(2)源码安装:
git clone git@github.com:microsoft/markitdown.git 后到项目目录下执行:
pip install -e .
2. 基本使用
(1)最简单的使用方式:
from markitdown import MarkItDown
# 创建MarkItDown实例
markitdown = MarkItDown()
# 转换文件
result = markitdown.convert("test.xlsx")
print(result.text_content)
(2)使用AI模型处理图片
集成OpenAI来处理图片描述:
from markitdown import MarkItDown
from openai import OpenAI
# 配置OpenAI客户端
client = OpenAI()
# 创建支持AI的MarkItDown实例
md = MarkItDown(mlm_client=client, mlm_model="gpt-4")
# 转换图片文件
result = md.convert("example.jpg")
print(result.text_content)
(3)批量处理多个文件
此示例展示了如何在一次运行中将多个文件转换为 markdown 格式。该脚本处理目录中所有支持的文件并创建相应的 markdown 文件。
from markitdown import MarkItDown
from openai import OpenAI
import os
client = OpenAI(api_key="your-api-key-here")
md = MarkItDown(llm_client=client, llm_model="gpt-4o-2024-11-20")
supported_extensions = ('.pptx', '.docx', '.pdf', '.jpg', '.jpeg', '.png')
files_to_convert = [f for f in os.listdir('.') if f.lower().endswith(supported_extensions)]
for file in files_to_convert:
print(f"\nConverting {file}...")
try:
md_file = os.path.splitext(file)[0] + '.md'
result = md.convert(file)
with open(md_file, 'w') as f:
f.write(result.text_content)
print(f"Successfully converted {file} to {md_file}")
except Exception as e:
print(f"Error converting {file}: {str(e)}")
print("\nAll conversions completed!")
将脚本放在与文件相同的目录中
安装所需的软件包:例如 openai
运行脚本bash python convert.py
请注意,原始文件将保持不变,并使用相同的基本名称创建新的 markdown 文件。
三、使用场景
功能 | 描述 |
---|---|
文档索引和检索 | 将各种格式的文档转换为Markdown便于建立索引 |
内容分析 | 提取文档结构和内容,进行文本分析和处理 |
AI增强处理 | 使用AI模型生成图片描述,智能识别文档内容 |
批量文档处理 | 处理大量文档转换任务,保持格式统一 |