公司动态
MarkItDown 文档转换实战:把 PDF、Word、Excel 快速变成 Markdown
MarkItDown 文档转换实战把 PDF、Word、Excel 快速变成 Markdown【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown当你需要把一份合同 PDF、一份 Excel 报表或 PPT 交给大模型分析时得先把它变成干净的 Markdown。MarkItDown 就是一个 Python 文档转换工具一行命令或几行代码把各种文件和 Office 文档转成 Markdown让你把精力放在内容本身而不是解析细节上。首次体验安装 MarkItDown 并两分钟看到转换结果先装包[all]会带上 PDF、Word、Excel、PPT 等格式的解析依赖pip install markitdown[all]装完就有了markitdown命令直接用仓库里自带的测试文件跑一下markitdown packages/markitdown/tests/test_files/test.pdf -o out.md想用 Python 调用的话也只需要三行from markitdown import MarkItDown md MarkItDown() result md.convert(packages/markitdown/tests/test_files/test.xlsx) print(result.markdown) # 完整 Markdown print(result.text_content) # 纯文本可直接喂给大模型到这里第一次转换就完成了——没有配置文件不需要 API key。为什么值得用和手工做法对比一下如果每种格式都自己接不同的库你会很快厌烦。MarkItDown 的差异点很具体对比项自己手工处理用 MarkItDown多格式支持分别接 python-docx、python-pptx、pdfplumber一个convert()入口自动识别格式并分派PDF 表格pdftotext 之类工具输出纯文本表格结构丢失表格转成标准 Markdown 表格无扩展名文件只能靠猜或人工确认格式内置 magika 按文件内容检测真实类型扫描版文档需要自己再接一套 OCR 流水线装 OCR 插件即可识别图中文字更关键的是输出去向标题层级、列表、表格、图片引用都被转成大模型能直接解析的 Markdown 元素而不仅仅是人能读。核心功能实战四个高频转换任务命令行转换 PDF 报告把一份合同 PDF 丢给大模型前一条命令就够markitdown contract.pdf contract.md文件不在本地也没关系支持管道输入cat report.pdf | markitdown也可以传 URL 直接转网页。批量转换一个文件夹的 Office 文档假设你有一个存满月度报表的文件夹要整体转成 Markdown 再交给大模型出总结。复用一个MarkItDown实例循环处理import os from markitdown import MarkItDown md MarkItDown() folder ./reports for name in os.listdir(folder): path os.path.join(folder, name) if os.path.isfile(path): result md.convert(path) with open(f{name}.md, w, encodingutf-8) as f: f.write(result.markdown)xlsx、docx、pptx 混在一起也没问题它会按文件选对应的转换器。处理没有扩展名、或编码不确定的文件从接口下载的文件常常没有扩展名此时给命令行一个提示即可cat data.bin | markitdown -x .pdf编码不对导致乱码时用markitdown file.txt -c utf-8指定Python 接口里对应传一个StreamInfo对象。给扫描版 PDF 加上 OCR内置解析只认天生数字的文件扫描件要装官方 OCR 插件pip install markitdown-ocr openaifrom markitdown import MarkItDown from openai import OpenAI md MarkItDown( enable_pluginsTrue, llm_clientOpenAI(), llm_modelgpt-4o, ) result md.convert(scan.pdf)插件用视觉大模型识别 PDF、Word、PPT、Excel 内嵌图片里的文字没提供llm_client时会自动回退到内置转换器不会报错。常见坑与实用技巧 转换时报MissingDependencyException或提示缺模块这是新手最常踩的坑。核心包只带 HTML、CSV、纯文本等基础能力PDF、Word、Excel 要用 extras 打开比如pip install markitdown[pdf,docx]嫌麻烦就pip install markitdown[all]一次装全。无扩展名的文件识别失败用-x .pdf给扩展名提示-m application/pdf给 MIME 提示从 stdin 读入时 magika 会按内容自动检测通常不用猜。输出里塞满超长的 base64 字符串默认行为是把 data URI 截断避免 Markdown 膨胀只有你确实要保留内嵌图片时才加--keep-data-uris。音频转录不生效音频格式依赖audio-transcription这个 extra底层 SpeechRecognition 还依赖系统环境建议先装markitdown[audio-transcription]再测。安全提醒MarkItDown 以当前进程权限访问文件和网络资源处理不可信输入时先做校验并优先调用范围更窄的convert_local()/convert_stream()而不是直接convert()任意路径。进阶扩展给你的场景加一种转换格式插件机制基于 Python entry points包只要在markitdown.plugin组下注册MarkItDown 启动时就会自动发现命令行加-p、代码里传enable_pluginsTrue即启用。思路是继承DocumentConverter基类用accepts()声明你负责哪些文件、用convert()返回DocumentConverterResult。仓库里附带最小样例 packages/markitdown-sample-plugin/插件实现可以对照 OCR 插件 packages/markitdown-ocr/ 看内置转换器的完整逻辑都在 packages/markitdown/src/markitdown/converters/ 里。部署方面仓库根目录有现成的 Dockerfile 可直接构建镜像。收尾MarkItDown 让多格式文档到 LLM 友好 Markdown 的转换只剩一条命令。现在就动手pip install markitdown[all]再用markitdown 你的文件.pdf out.md转出第一份结果。【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考