你肯定用 AI 读过文档。把一份 PDF 扔进去让它帮你总结重点、提取数据、回答问题。它给出的答案看起来很像那么回事你也没有细究直接用了。但有一件事很多人不知道——AI 很可能根本没读完那份 PDF。不是因为它偷懒。是因为它压根没有读 PDF这个能力。AI 看到的 PDF不是你看到的 PDF你打开一份 PDF看到的是排版整齐的文字、表格、图表、公式。AI 看到的是一堆乱的东西。PDF 这个格式在设计的时候目标是打印出来好看不是让程序好读。它的底层存储不是第一段文字、第二段文字这种顺序而是在坐标 (x142, y387) 的位置有一个字符’A’——一堆坐标和字符的集合没有段落没有表格没有标题什么结构都没有。所以当你把 PDF 扔给 AI 的时候AI 需要先理解这份 PDF——把坐标信息重新拼回成有意义的文字。这一步叫文档解析。大多数工具做这一步的方式是直接按坐标从上到下扫遇到字符就读。这在格式简单的 PDF 上勉强能用。但只要遇到这几种情况就全崩了双栏排版学术论文最常见左边一栏、右边一栏按坐标从上到下读的话会把左栏第三段和右栏第一段拼在一起语序完全混乱。AI 拿到这个当然给不出正确的总结。表格PDF 里的表格没有行和列的概念只有一堆数字分布在不同坐标上。简单扫描后行列关系全丢财报里的关键数据就这么消失了。公式数学公式、化学式解析出来要么是乱码要么变成残缺的符号。技术文档里最重要的内容反而最容易在这一步消失。扫描件很多合同、老文档是扫描出来的 PDF里面压根没有文字信息只有图片。直接扔给 AI它读到的是一片空白。为什么你没发现因为 AI 很擅长用它读到的残缺内容拼出一个听起来像模像样的答案。它不会告诉你我没读完或者这部分我没读懂。它会用它拿到的那一小部分给你一个流畅的回复。表格数据丢了它会给你一个模糊的描述公式读错了它会给你一个接近但不准确的解释双栏混排它会给你一个语序混乱但表面通顺的总结。你以为它理解了它只是在掩盖它没读到的部分。这个问题怎么解决工程师解决这个问题的方式是在把 PDF 扔给 AI 之前先用专门的工具做一次翻译——把 PDF 转成 AI 真正能读懂的格式。MinerU 是上海人工智能实验室做的一个开源工具专门干这件事。GitHub 目前超过 6 万星标Apache 2.0 协议免费商用。它的工作方式不是简单地按坐标扫文字而是先看懂整份文档的结构哪块是标题哪块是正文哪块是表格哪块是图片哪块是公式——就像一个人真正阅读文档时会做的判断。然后按照人类实际的阅读顺序输出内容AI 拿到的才是结构完整、顺序正确的文本。装起来其实很快# 安装3.0 之后包名从 magic-pdf 改成了 minerupipinstalluv uv pipinstall-Umineru[all]# 第一次用需要下载模型约 8GB国内走镜像exportHF_ENDPOINThttps://hf-mirror.com mineru-models-download解析一份 PDF 只需要一行命令# 自动模式MinerU 自己判断用哪个引擎mineru-p你的文件.pdf-o输出目录/-mauto# 精度优先VLM 模式复杂文档用这个mineru-p你的文件.pdf-o输出目录/-mvlm# 速度优先pipeline 模式简单文档够用mineru-p你的文件.pdf-o输出目录/-mpipeline输出的是干净的 Markdown 文件直接可以扔给任何 AI 工具使用。解析质量差多少——有数据说话文档解析有一个专项评测基准叫 OmniDocBenchCVPR 2025 发布。下面是几个主流工具在这个评测上的得分对比工具综合得分文字提取公式识别表格识别阅读顺序MinerU 2.5-Pro95.6996.191.288.396.8MinerU 2.590.793.287.485.694.1Gemini 2.5 Pro~89~91~83~82~88GPT-4o~85~88~76~79~84LlamaParse~7682657478Marker~7278586975PyPDF2~4568✗✗42注意看 PyPDF2 那行文字提取 68 分公式和表格直接是零阅读顺序 42 分。这是很多人默认用的工具差距有多大一目了然。MinerU 2.5-Pro 的公式识别和表格识别是最难拉分的两项也是传统工具最容易翻车的地方。三类场景差距最明显学术论文几乎所有 arXiv 论文都是双栏排版公式密集。用 PyPDF2 解析完再喂给 AIAI 拿到的是左右两栏混排的乱文摘要可能还行细节全错。财务报告合并单元格的复杂表格解析不对就是数据全错。MinerU 输出带行列结构的 HTML 表格数字和对应的科目、期间都在正确的位置。扫描版文件合同、档案、有手写批注的材料不经过 OCR 这一步AI 读到的是空白。MinerU 自动检测是否是扫描件是的话走 OCR 路径支持 109 种语言还能识别印章和竖排文字。接到你的工具里也不麻烦如果你在用 Claude Code 或者 CursorMinerU 有官方的 MCP Server三分钟能配好pipinstallmineru-mcp在 Claude Desktop 设置里加一段配置{mcpServers:{mineru:{command:uvx,args:[mineru-mcp]}}}配置好之后你直接跟 Claude 说帮我解析这个 PDF它会自动调用 MinerU解析完再处理不用你手动转格式。如果你在用 Python 做自动化from langchain_mineruimportMinerULoader# 本地解析模式loaderMinerULoader(research_paper.pdf,modelocal)docsloader.load()# docs 是标准的 LangChain Document 列表# 可以直接接 ChromaDB、FAISS 等向量库fordocindocs: print(doc.page_content[:200])一件值得顺带知道的事MinerU 最近发了新版本MinerU2.5-Pro做了一件很反直觉的事没有换更大的模型只是把训练数据从 1000 万份文档扩充到了 6550 万份重点补充了那些复杂的、罕见的文档格式。结果用 12 亿参数的小模型在评测里打败了谷歌 Gemini 和千亿参数级别的大模型。这件事说明了一个很朴素的道理要做好一件具体的事不一定需要最大的通用工具需要的是真正在这件事上下够功夫。就像你要读懂一份化工行业的合同不需要找最聪明的人需要找一个真的读过很多化工合同的人。这个工具本身是免费开源的。如果你在工作里经常需要 AI 处理文档值得了解一下这一层到底是怎么工作的。项目地址github.com/opendatalab/MinerU技术报告arXiv:2604.04771