2024 微软开源神器 MarkItDown:一键将办公文档转换为 Markdown 的 Python 工具

文章目录

  • 一、前言![在这里插入图片描述](https://i3.wp.com/i-blog.csdnimg.cn/direct/af8afd3f922f4d93b60ec6069f81a8f5.png)
  • 1、介绍
  • 2、主要特性
  • 二、实践
  • 1、快速开始
  • 2. 基本使用
  • 三、使用场景
  • 一、前言

    1、介绍

    MarkItDown 是微软开源的一款强大的文档转换工具,可以将PDF、Office文档、图片等多种格式文件转换为Markdown格式。它还支持集成AI模型来智能处理图片描述。本文将详细介绍如何安装和使用这个工具。
    github仓库:https://github.com/microsoft/markitdown

    2、主要特性

    支持多种文件格式转换:

    1. PDF文件 (.pdf)
    2. PowerPoint演示文稿 (.pptx)
    3. Word文档 (.docx)
    4. Excel表格 (.xlsx)
    5. 图片(支持EXIF元数据和OCR)
    6. 音频(支持EXIF元数据和语音转写)
    7. HTML(支持维基百科等特殊处理)
    8. 其他文本格式(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模型生成图片描述,智能识别文档内容
    批量文档处理 处理大量文档转换任务,保持格式统一

    作者:风吹落叶花飘荡

    物联沃分享整理
    物联沃-IOTWORD物联网 » 2024 微软开源神器 MarkItDown:一键将办公文档转换为 Markdown 的 Python 工具

    发表回复