夜雨聆风学习资料网

ARTICLE · 1144777

PDF、Word 转 Markdown,7 个工具到底怎么选?

PDF、Word 转 Markdown,7 个工具到底怎么选?
国庆结束了!该干活了,牛马们!
最近想整理一下文档转 Markdown 的工具,名单越列越长:
MarkItDown、Docling、MinerU、Marker、Unstructured、PyMuPDF4LLM,还有 Pandoc。

这 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

看介绍都挺好,支持的格式也大量重叠。真要选一个,反而不知道从哪里下手。
我最初想做张表,给公式、表格、部署难度分别打分。后来对照官方文档看了一圈,发现这样写容易误导人。
有的工具是在提取 Word 里本来就存在的标题和段落,有的要从扫描图片里重新识别文字。
两者都叫“转 Markdown”,干的活差别很大。

先交代一下:这篇是根据官方资料做的选型整理,还不是七款工具的同条件实测。可以聊哪些值得先试,但谁的识别准确率最高,目前还下不了结论。


01|文件比较杂,先看 MarkItDown

如果只是想把手头的文件先转出来,我会从 MarkItDown 开始。
理由很朴素:格式覆盖比较广。
平时收集的资料,很少整整齐齐全是 PDF。可能有几份 Word、一个 PPT、两张 Excel 表,再加几个网页。
MarkItDown 把这些格式放进了一个相对统一的入口,对这种杂七杂八的资料比较方便。
不过,我会把预期放在“先提取出可用内容”。
微软自己的介绍也说,它主要服务于大模型和文本分析,未必适合追求高保真还原的文档转换。
还有一点:基础提取、OCR 插件和云服务增强要分开看。某个功能能接上,不等于默认安装后就有同样的效果。
普通办公资料可以先试它。遇到公式密集的论文或复杂扫描件,再单独找方案。

02|后面还要加工文档,看看 Docling

Docling 吸引我的地方,是它还保留了一层文档结构。
一开始只是想拿到 Markdown,可能不会在意这一点。
等到后面想按章节拆分、单独提取表格,或者把内容送进知识库,就会发现:
只有一大段文本,不太够用。
Docling 会把解析结果组织成统一的 DoclingDocument,再导出 Markdown、JSON、HTML 等格式。它也把版面、阅读顺序和表格结构作为重点处理对象。
对我来说,它更值得考虑的场景是:这批文档后面还要继续加工。
至于表格究竟能恢复到什么程度,我不会光看功能列表就说“极强”。
尤其是合并单元格、多层表头、跨页表格,还是得拿自己的文件验证。

03|论文和扫描件多,MinerU、Marker 一起试

如果主要处理论文、扫描件,或者页面里有不少公式,这两个都会进入我的候选名单。
先说 MinerU。
它现在支持多种文档格式,也提供不同解析档位。
这里有个容易忽略的细节:PDF、图片和 Office 文件,走的处理路径不一定相同。
不能看到它支持 Word 和 PDF,就认为两者都在用同一套模型识别。MinerU 官方介绍
再看 Marker。
它支持表格、公式、代码块和图片提取,也可以加上大模型增强。
不同运行模式、OCR 配置和推理后端,会影响处理方式与运行成本。Marker 官方介绍
这两款我最想对比的,是几个很具体的问题:
同一页双栏论文,会不会读串行?
公式里的上下标,有没有丢?
一张表跨了两页,最后会被拆成什么样?
这些地方只要错几个,后面人工整理就很费时间。
部署也是一样。看到“支持 CPU”可以先放心一点,但一页要处理多久、一百页能不能接受,还得跑过才知道。

04|主要处理 PDF,别跳过 PyMuPDF4LLM

如果手里基本都是 PDF,我不一定一开始就上比较复杂的模型方案。
PyMuPDF4LLM 可以输出 Markdown、JSON 和纯文本,支持多栏页面、版面分析、图片提取以及按页分块。
官方说明它的版面分析无需 GPU,也提供 OCR 相关支持。
所以,把它简单写成“基础提取”,有点低估它了。PyMuPDF4LLM 官方文档
我会先拿它处理几份常见 PDF,看看结果够不够用。
正文顺序、标题和表格都没什么问题,就没有必要为了用上更复杂的工具,多搭一套环境。
但正文提取得不错,不代表公式也没问题。
数学公式比较多的文件,我还是会单独检查。

05|准备做知识库,再细看 Unstructured

如果需求只是“给我一份 Markdown”,Unstructured 未必会排在最前面。
它更关注把文档拆成标题、正文、列表、表格等元素,方便后续筛选和处理。
PDF 也有不同解析策略,速度、OCR 和表格处理与配置有关。Unstructured 官方文档
这对做知识库的人会更有吸引力。
比如只想保留正文,或者希望表格单独处理,就需要这种更细的控制。
但如果只是偶尔转几份文件,这套处理方式可能暂时用不上。

06|有源文件的话,先想想 Pandoc

Pandoc 很容易被放错比较位置。
假如手里已经有 Word 或 LaTeX 源文件,我会先看它。
它擅长已有文档格式之间的转换,也能处理数学公式、引用和参考文献。
需要注意,它不提供通用的 PDF 输入解析;生成 PDF 则要配合外部引擎。Pandoc 官方介绍
拿 LaTeX 源码转换公式,和从论文截图里识别公式,难度完全不同。
前者已经知道哪里是分子、哪里是下标,后者得先认出来。
有源文件,我倾向于直接转源文件。
先变成 PDF,再想办法恢复结构,通常绕远了。

如果现在就要选,我会这样开始
看完这几个工具,我反而不太想给它们排总榜了。
先按手头的文件缩小范围,会容易很多:
文件格式比较杂
Word、PPT、Excel、网页混在一起,先试MarkItDown。
已有源文件,只想换格式
先试Pandoc。
主要是 PDF,希望部署省事
先试PyMuPDF4LLM。
论文、扫描件、复杂表格比较多
拿同一批文件,对比Docling、MinerU、Marker。
后面要清洗、拆分、送进知识库
重点看看Unstructured,也可以考察Docling。
这些建议只是帮我决定先试谁,最后还得看转换结果。

我更在意:有没有丢内容,改起来费不费劲
格式乱了,通常一眼就能看到。
更麻烦的是,看起来很整齐,实际上少了一个负号,或者表格里的数字错了一列。
还有些情况,问题出在输出格式。
常见的 Markdown 管道表格,本来就不好表达合并单元格。碰上这种表,可能保留 HTML 或结构化数据更合适,没必要硬挤进一张简单表格里。
如果接下来做实测,我会从自己的资料里挑几份最常见的,再挑几页最难的。
除了记录耗时,也记一下每份结果需要手工改哪里。
毕竟,转完花一分钟、修完花半小时,和转完花五分钟、基本不用改,是两种体验。
对我来说,选工具最后还是会落到这个问题上:
它处理我的这批文件,能省下多少整理时间?

相关学习资料