MarkItDown 实战:PDF、Word、图片批量转 Markdown,3 分钟跑通全流程

📅 2026/8/24 23:29:58
MarkItDown 实战:PDF、Word、图片批量转 Markdown,3 分钟跑通全流程
MarkItDown 实战PDF、Word、图片批量转 Markdown3 分钟跑通全流程【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown文档要喂给 LLM先得解决文件转 Markdown 这一步手动打开 PDF、Word、Excel 逐个复制粘贴、整理格式十几份文件干到第三份就会放弃。MarkItDown 把整个步骤压缩成一条命令。MarkItDown 是微软开源的文件转 Markdown 工具Python 包加命令行工具两种形态PDF、PowerPoint、Word、Excel、图片、音频等 11 种以上格式一次转换保留标题、列表、表格、链接这些文档结构。它的定位是给 LLM 和文本分析流水线供应干净输入而不是逐像素还原排版所以输出人读没问题但别拿它当完美排版工具。MarkItDown 安装教程3 分钟跑通第一个转换前置条件是 Python 3.10 及以上pyproject 里写死了requires-python 3.10老版本装不上。建议先建虚拟环境避免依赖冲突python -m venv .venv source .venv/bin/activate pip install markitdown[all][all]这个 extra 一次装 15 个可选依赖覆盖全部格式解析器。只处理少数格式可以按需裁剪比如pip install markitdown[pdf, docx]只装 pdf 和 docx 两个依赖。装完用markitdown -v确认版本号。第一个转换就一条命令markitdown report.pdf -o report.md-o指定输出文件省略时 Markdown 写到 stdout也可以markitdown report.pdf report.md重定向甚至cat report.pdf | markitdown管道传入。一份中等体积的 PDF 通常几秒内完成。命令行批量转 Markdown 的循环写法CLI 一次只接受一个文件批量转换就是 shell 循环。假设当前目录有一批 .docx、.pptx、.xlsxfor f in *.docx *.pptx *.xlsx; do markitdown $f -o ${f%.*}.md done${f%.*}去掉扩展名生成输出名。Word 的表格、PPT 的分页文本、Excel 的分表内容都会输出成 Markdown 表格和列表20 个文件一批通常不到一分钟取决于文件体积。需要把转换嵌进脚本时Python API 更直接from markitdown import MarkItDown md MarkItDown() print(md.convert(test.xlsx).text_content)PDF 转 Markdown先本地扫描件再谈云端带文字层的电子 PDF内置转换器用 pdfminer.six 和 pdfplumber 直接提取文本与表格全程离线不依赖任何网络服务markitdown invoice.pdf -o invoice.md扫描版 PDF整页是图片、没有文字层是它的边界本地转换只能返回近乎空的文本。此时有两条云路径一是 Azure Document Intelligence命令行加-d参数并配 endpoint二是仓库里的markitdown-ocr插件把文档内嵌图片交给视觉模型做 OCR需要另装markitdown-ocr和openai两个包。上面这张是仓库测试目录里的验证文件一篇论文首页用来校验转换时标题与表格结构的保留情况。图片转 Markdown 与音频转文字依赖装错最常见的坑图片和音频走不同的依赖路径漏装 extra 是能跑但结果空的第一原因。图片jpg/jpeg/png默认只提取 EXIF 元数据且要求系统装有exiftool要让 LLM 描述图片内容必须在 Python API 里传llm_client和llm_model命令行无法一步到位。音频wav/mp3/m4a/mp4语音转写依赖[audio-transcription]extrapydub SpeechRecognition不装就只输出元数据。pip install markitdown[audio-transcription] markitdown meeting.mp3 -o meeting.md几分钟的录音输出完整转写文本加元数据耗时取决于录音时长与识别引擎。这张测试图专门验证llm_client图片描述路径接入模型后描述文本会直接写进输出的 Markdown。常见翻车点与修复方式报UnsupportedFormatException: No converter attempted a conversion扩展名不在支持列表内典型如老式 .doc。扩展名被误判的文件可用-x pdf给格式提示格式确实不支持的目前没有内置路径。扫描版 PDF 转出空白文本本地转换只做文字提取不做 OCR。要么升级-d Document Intelligence要么用 ocr 插件扫描件本身模糊时任何工具都救不回来。音频和图片只输出几行元数据十有八九是漏装[audio-transcription]extra或者系统没装exiftool。先核对安装输出再怀疑文件。一次传多个文件报unrecognized argumentsCLI 的位置参数只有nargs?多出来的文件名直接报错。按上文循环写法拆开执行即可。动手验证5 分钟小任务挑一份你电脑上的真实文档建议带表格的 PDF。跑一遍markitdown report.pdf -o report.md打开 .md 检查三件事标题层级是否保留、表格是否变成 Markdown 表格、哪里的文本丢失了。如果文档恰好是扫描件、结果为空属正常现象正好用-d参数验证云端路径。【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考