ARTICLE · 1144777
PDF、Word 转 Markdown,7 个工具到底怎么选?
PDF、Word 转 Markdown,7 个工具到底怎么选?国庆结束了!该干活了,牛马们! 最近想整理一下文档转 Markdown 的工具,名单越列越长: MarkItDown、Docling、MinerU、Marker、Unstructured、PyMuPDF4LLM,还有 Pandoc。 看介绍都挺好,支持的格式也大量重叠。真要选一个,反而不知道从哪里下手。 我最初想做张表,给公式、表格、部署难度分别打分。后来对照官方文档看了一圈,发现这样写容易误导人。 有的工具是在提取 Word 里本来就存在的标题和段落,有的要从扫描图片里重新识别文字。 两者都叫“转 Markdown”,干的活差别很大。
如果只是想把手头的文件先转出来,我会从 MarkItDown 开始。 理由很朴素:格式覆盖比较广。 平时收集的资料,很少整整齐齐全是 PDF。可能有几份 Word、一个 PPT、两张 Excel 表,再加几个网页。 MarkItDown 把这些格式放进了一个相对统一的入口,对这种杂七杂八的资料比较方便。 不过,我会把预期放在“先提取出可用内容”。 微软自己的介绍也说,它主要服务于大模型和文本分析,未必适合追求高保真还原的文档转换。 还有一点:基础提取、OCR 插件和云服务增强要分开看。某个功能能接上,不等于默认安装后就有同样的效果。 普通办公资料可以先试它。遇到公式密集的论文或复杂扫描件,再单独找方案。
Docling 吸引我的地方,是它还保留了一层文档结构。 一开始只是想拿到 Markdown,可能不会在意这一点。 等到后面想按章节拆分、单独提取表格,或者把内容送进知识库,就会发现: 只有一大段文本,不太够用。 Docling 会把解析结果组织成统一的 DoclingDocument,再导出 Markdown、JSON、HTML 等格式。它也把版面、阅读顺序和表格结构作为重点处理对象。 对我来说,它更值得考虑的场景是:这批文档后面还要继续加工。 至于表格究竟能恢复到什么程度,我不会光看功能列表就说“极强”。 尤其是合并单元格、多层表头、跨页表格,还是得拿自己的文件验证。
如果主要处理论文、扫描件,或者页面里有不少公式,这两个都会进入我的候选名单。 先说 MinerU。 它现在支持多种文档格式,也提供不同解析档位。 这里有个容易忽略的细节:PDF、图片和 Office 文件,走的处理路径不一定相同。 不能看到它支持 Word 和 PDF,就认为两者都在用同一套模型识别。MinerU 官方介绍 再看 Marker。 它支持表格、公式、代码块和图片提取,也可以加上大模型增强。 不同运行模式、OCR 配置和推理后端,会影响处理方式与运行成本。Marker 官方介绍 这两款我最想对比的,是几个很具体的问题: 同一页双栏论文,会不会读串行? 公式里的上下标,有没有丢? 一张表跨了两页,最后会被拆成什么样? 这些地方只要错几个,后面人工整理就很费时间。 部署也是一样。看到“支持 CPU”可以先放心一点,但一页要处理多久、一百页能不能接受,还得跑过才知道。
如果手里基本都是 PDF,我不一定一开始就上比较复杂的模型方案。 PyMuPDF4LLM 可以输出 Markdown、JSON 和纯文本,支持多栏页面、版面分析、图片提取以及按页分块。 官方说明它的版面分析无需 GPU,也提供 OCR 相关支持。 所以,把它简单写成“基础提取”,有点低估它了。PyMuPDF4LLM 官方文档 我会先拿它处理几份常见 PDF,看看结果够不够用。 正文顺序、标题和表格都没什么问题,就没有必要为了用上更复杂的工具,多搭一套环境。 但正文提取得不错,不代表公式也没问题。 数学公式比较多的文件,我还是会单独检查。
如果需求只是“给我一份 Markdown”,Unstructured 未必会排在最前面。 它更关注把文档拆成标题、正文、列表、表格等元素,方便后续筛选和处理。 PDF 也有不同解析策略,速度、OCR 和表格处理与配置有关。Unstructured 官方文档 这对做知识库的人会更有吸引力。 比如只想保留正文,或者希望表格单独处理,就需要这种更细的控制。 但如果只是偶尔转几份文件,这套处理方式可能暂时用不上。
Pandoc 很容易被放错比较位置。 假如手里已经有 Word 或 LaTeX 源文件,我会先看它。 它擅长已有文档格式之间的转换,也能处理数学公式、引用和参考文献。 需要注意,它不提供通用的 PDF 输入解析;生成 PDF 则要配合外部引擎。Pandoc 官方介绍 拿 LaTeX 源码转换公式,和从论文截图里识别公式,难度完全不同。 前者已经知道哪里是分子、哪里是下标,后者得先认出来。 有源文件,我倾向于直接转源文件。 先变成 PDF,再想办法恢复结构,通常绕远了。
如果现在就要选,我会这样开始 看完这几个工具,我反而不太想给它们排总榜了。 先按手头的文件缩小范围,会容易很多: 文件格式比较杂 Word、PPT、Excel、网页混在一起,先试MarkItDown。 已有源文件,只想换格式 先试Pandoc。 主要是 PDF,希望部署省事 先试PyMuPDF4LLM。 论文、扫描件、复杂表格比较多 拿同一批文件,对比Docling、MinerU、Marker。 后面要清洗、拆分、送进知识库 重点看看Unstructured,也可以考察Docling。 这些建议只是帮我决定先试谁,最后还得看转换结果。
我更在意:有没有丢内容,改起来费不费劲 格式乱了,通常一眼就能看到。 更麻烦的是,看起来很整齐,实际上少了一个负号,或者表格里的数字错了一列。 还有些情况,问题出在输出格式。 常见的 Markdown 管道表格,本来就不好表达合并单元格。碰上这种表,可能保留 HTML 或结构化数据更合适,没必要硬挤进一张简单表格里。 如果接下来做实测,我会从自己的资料里挑几份最常见的,再挑几页最难的。 除了记录耗时,也记一下每份结果需要手工改哪里。 毕竟,转完花一分钟、修完花半小时,和转完花五分钟、基本不用改,是两种体验。 对我来说,选工具最后还是会落到这个问题上: 它处理我的这批文件,能省下多少整理时间?
这 7 款工具的文档 or 项目链接,在摸鱼的往下看,赶时间的直接进:
MarkItDownhttps://github.com/microsoft/markitdown#readme
Doclinghttps://docling-project.github.io/docling/
MinerUhttps://opendatalab.github.io/MinerU/
Markerhttps://github.com/datalab-to/marker#readme
Unstructuredhttps://docs.unstructured.io/open-source/introduction/overview
PyMuPDF4LLMhttps://pymupdf.readthedocs.io/en/latest/pymupdf4llm/
Pandochttps://pandoc.org/MANUAL.html
先交代一下:这篇是根据官方资料做的选型整理,还不是七款工具的同条件实测。可以聊哪些值得先试,但谁的识别准确率最高,目前还下不了结论。