PDF 解析后输出什么格式?MinerU 五类下游场景的选型指南

为什么输出格式选型值得提前想清楚

PDF 解析完成后,"拿到文件"不等于"能用"。输出格式选错带来的返工成本,往往超过解析本身。一个选型失误可能导致整个数据管线的返工,而根源通常不是工具的精度------是格式与下游需求之间的错配。

一个反面案例能说明问题。某团队用 MinerU 将一批财报 PDF 解析为 Markdown,然后编写正则表达式从文本中提取表格数据。他们很快发现:Markdown 表格丢失了合并单元格信息,行间公式被渲染为纯文本符号,图片的坐标信息完全不可用。后续不得不重新用 JSON 模式跑一遍整个数据集------多花了两周的工程时间。如果项目开始时多花半小时评估"下游要什么",这半个月的返工完全可以避免。

这个教训指向一个更通用的判断框架:下游消费方是人类读者还是机器程序?是否需要保留精确坐标?是否需要二次编辑? 答案不同,对应的输出格式就不同。MinerU 提供了五种输出格式------Markdown、JSON、HTML、LaTeX、DOCX------各自的适用边界差异显著。了解它们的特性与局限,才能在项目开始时做出正确的选型决策,而不是在数据处理到一半时发现路径不可行。

MinerU 五类输出格式全景

MinerU 的五类输出格式可以按照"人类可读"和"机器可读"两个维度排列。

Markdown 是默认输出格式,也是开源部署版本的基础输出。它的标题层级(#/##)和段落结构直接对应文档的语义骨架,表格使用 GFM 语法呈现,公式以 LaTeX 行内/行间格式嵌入。Markdown 的核心理念是"兼顾可读性与可编辑性"------你可以在 Obsidian、Typora 或任何代码编辑器中直接打开和修改。局限在于:不保留精确的版面坐标,不表达合并单元格,对复杂格式(如多栏布局)的表达依赖语义推断。

JSON 是面向机器的结构化输出,包含完整的版面元数据。开源部署版本默认生成 middle.jsoncontent_list.json 两个文件。middle.json 保留了从版面分析到段落合并的完整中间结果,包含 bbox 坐标、块类型、阅读顺序、行/片段级分解。content_list.json 则是按阅读顺序平铺的简化版,适合直接消费。JSON 不适合人工阅读,但这是设计意图------它服务的对象是下游程序。

HTML 输出将解析结果包装为完整的网页文档,保留字体、字号、颜色等 CSS 样式信息,图片以 <img> 标签嵌入。表格以 <table> 结构呈现,可以表达合并单元格(colspan/rowspan)和多层表头。HTML 与 Markdown 存在包含关系------Markdown 本身是 HTML 的子集语法,但 HTML 能表达更丰富的样式信息。

LaTeX 输出专为学术排版设计。解析结果以 .tex 文件形式输出,公式以原生 LaTeX 语法呈现,可直接交由 pdflatex/xelatex 编译。表格支持 tabular 等 LaTeX 原生环境。图片以 \includegraphics 引用。局限在于:LaTeX 本身是一种编程式排版语言,非学术场景的用户通常不需要它。

DOCX 输出保留 Word 文档的样式信息------字体、字号、段落间距、表格边框、列表缩进等。输出文件可直接在 Microsoft Word 或 WPS 中打开编辑。适合需要二次加工的场景。

五类输出格式特性对比

维度 Markdown JSON HTML LaTeX DOCX
人类阅读友好度 ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐⭐⭐⭐
机器处理友好度 ⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐
公式支持 LaTeX 嵌入 LaTeX 文本 图片/MathJax 原生 LaTeX 图片/OMML
样式保留 基础 完整 CSS 排版控制 完整
文件体积
开源版支持 ✅ 默认 ✅ 默认 ❌ 云端独有 ❌ 云端独有 ❌ 云端独有

上表揭示了一个关键约束:LaTeX、DOCX、HTML 为云端服务(Open API / SDK)独有输出格式,开源部署版本不支持。 如果通过本地部署的 MinerU(magic-pdf CLI)跑解析,你能拿到的是 Markdown 和 JSON。如果需要其余三种格式,需要使用 MinerU Open API 或 SDK(Python/JS/TS)。这一点在选型时容易被忽略------等到部署环境锁定才发现格式不可用,后续调整成本较高。

场景一:RAG / 知识库 → Markdown

RAG 系统的第一个环节是将文档拆分为语义完整的块(chunk),这个环节的质量直接影响后续检索和生成的精度。MinerU 输出的 Markdown 在这方面有两个结构化优势。

标题层级天然适合分块。 Markdown 的 #/##/### 对应文档的章节结构,下游的 RecursiveCharacterTextSplitter(LangChain)或 SentenceSplitter(LlamaIndex)可以基于标题边界做"按语义段落切分",而不是机械地按字符数截断。基于标题的分块策略比固定长度分块在检索命中率上高出 10-20 个百分点------原因很简单:没有哪个 RAG 系统希望把"第 3.1 节结论"和"第 3.2 节方法"切成同一个 chunk。

段落边界清晰减少粘连问题。 MinerU 输出的 Markdown 保留了原始文档的段落边界(空行分隔),表格、代码块、引用块都有明确的起止标记。这避免了其他解析工具常见的"两段文本粘成一个块"问题,后者会导致 chunk 边界落在语义断裂处,一个 chunk 里包含两个不相关的段落,检索时相互干扰。

与 RAG 框架的衔接建议

LangChain 用户可以直接使用 langchain-mineru 包(pip install langchain-mineru),通过 MinerULoader 加载 PDF 后得到 Markdown 格式的 Document 对象,然后接入标准的 TextSplitter 工作流:

python 复制代码
from langchain_mineru import MinerULoader
from langchain_text_splitters import RecursiveCharacterTextSplitter

loader = MinerULoader(source="paper.pdf", mode="flash")
docs = loader.load()
splitter = RecursiveCharacterTextSplitter(
    chunk_size=1200, chunk_overlap=200,
    separators=["\n## ", "\n### ", "\n", "。", " "]
)
chunks = splitter.split_documents(docs)

LlamaIndex 用户通过 llama-index-readers-mineruMinerUReader 加载,输出同样是 Markdown。两个加载器都支持 flash(零成本快速模式)和 precision(精准模式)两种解析等级。precision 模式需要 API Token,但公式和表格的识别精度更高------如果你的知识库包含大量学术文献,建议优先使用该模式。

需要注意的一点:langchain-minerullama-index-readers-mineru 目前只返回 Markdown 格式的输出。如果需要 JSON 或 DOCX,需要直接调用 MinerU SDK。但对于纯文本检索场景,Markdown 已经足够------额外的版面元数据可以通过 Document.metadata 承载,你可以在加载器初始化时通过 extra_info 参数注入自定义元数据(项目标签、来源批次等),这些字段会一并写入向量数据库,方便后续按来源过滤检索结果。

场景二:数据挖掘 / 结构化分析 → JSON

当消费端不是人类读者而是程序时,Markdown 的"可读性"反而成了噪音。JSON 输出的价值在于:它保留了文档的结构化骨架------每个元素的位置、类型、层级关系、阅读顺序------这些是 Markdown 中被隐式丢弃的信息。如果你需要从论文中批量提取公式图片、从财报中抓取表格结构、或者按阅读顺序重建文档内容,JSON 是更直接的路径。

关键字段解析

content_list.json 是数据挖掘场景最常用的文件。每个元素包含以下关键字段:

  • bbox :边界框坐标 [x0, y0, x1, y1],映射到 0-1000 的归一化范围。有了 bbox,你可以精确定位"这一页第 3 个表格在什么位置",或者"某张图片距离页面上边界多远"。这是版面还原和精确截取场景的基础------程序依赖坐标而非视觉判断来定位内容。(注意:content_list.json 使用 0-1000 归一化坐标,而 middle.json 保留原始像素坐标;不同文件的坐标基准不同,使用时需要留意。)
  • type :内容类型------texttableimagechartequationlistcode 等。按类型过滤是实现定向提取的基础,例如"只保留所有公式图片"。
  • text_level :文本层级标识------无或 0 为正文,1/2/3 对应一/二/三级标题。这个字段允许程序自动构建文档的层级树,然后按标题范围聚合下属正文。
  • page_idx:页码(从 0 开始),支持跨页内容的聚合分析,也方便与原始 PDF 做对照。
  • reading_order (在 middle.json 中通过 index 字段表达):阅读顺序索引,确保内容的排列顺序与人类的阅读习惯一致------先左栏后右栏,先正文后脚注。

middle.json 提供了更细粒度的层级结构:一级块(table/image/chart)→ 二级块(body/caption/footnote)→ 行(line)→ 片段(span)。每个 span 都有独立的 bboxtypecontent,精度达到单个文本片段级别。如果你的场景需要"根据坐标截取特定区域的内容",middle.json 是必要的选择。

此外,MinerU 的 model.json 中还包含 cls_id 字段------模型推理输出的类别编码,通过 cls_idlabel 映射可获知每个检测区域的语义类别(如文本、表格、图片等)。该字段在按类别做后处理过滤时有用,但注意 model.json 存在于完整管线输出中,content_list.json 已将其展开为可读的 type 字段。

从 JSON 提取表格数据的代码思路

假设你需要从一批学术论文的 JSON 输出中提取所有表格及其标题,思路如下:

python 复制代码
import json

with open("output/content_list.json") as f:
    items = json.load(f)

tables = []
for item in items:
    if item["type"] == "table":
        tables.append({
            "page": item["page_idx"],
            "caption": "".join(item.get("table_caption", [])),
            "body_html": item.get("table_body", ""),
            "bbox": item["bbox"],
            "footnote": "".join(item.get("table_footnote", [])),
        })

这种提取方式与 Markdown 方案的差异在于:JSON 方案保留了表格的 HTML 结构表达(含合并单元格),而 Markdown 方案会将表格简化为 GFM 语法。对于后续要做数据分析、存入数据库或做结构化比对的场景,JSON 路径的 ROI 明显更高。如果你的下游需要的是纯文本表格内容而非结构,Markdown 反而更轻量。

场景三:学术论文 / 公式排版 → LaTeX

学术出版的"最后一公里"常常是 LaTeX 编译。如果解析工具输出的公式无法直接编译,那它的价值就止步于"展示",无法进入正式的出版流水线。

公式语义保真度

MinerU 的 UniMERNet 模型在公式识别上做了专项优化。根据 OmniDocBench v1.6 的基准评测,MinerU 2.5-Pro 的公式语义保真度达到 94.7%。这一指标的含义是:输出的 LaTeX 代码能够准确还原原公式的数学结构------上下标、分式、根号、积分限、矩阵嵌套------而非仅停留在"看起来像"的层面。

对比来看,同类工具在这一指标上的数据约为 89.1%,差距在复杂嵌套结构(多重分数、矩阵内套矩阵)上尤为明显。在物理、数学论文中,单个括号的缺失就可能改变整个公式的语义,因此 5.6 个百分点的差距在实际生产环境中具有可感知的影响。

编译依赖与限制

使用 MinerU 输出的 LaTeX 文件,有几个前提需要确认:

  • 需要本地安装 TeX 发行版(TeX Live / MiKTeX / MacTeX),约 2-5GB 空间。最小化安装 texlive-base 约 300MB,但缺少常见宏包时编译可能报错。如果你的文档使用了特殊宏包(如 amsmathhyperref),建议安装完整版。
  • MinerU 的 LaTeX 输出依赖云端 API(开源版不支持)。你需要通过 MinerU Open API 或 SDK 的 precision 模式,并在请求参数中指定 output_format="latex"。这意味着你的网络环境和 API 配额会影响可用性。
  • 对极端复杂版面(如多栏内嵌入超长公式、化学结构式),输出的 LaTeX 可能需少量手动调整------94.7% 的语义保真度意味着约 5% 的情况需要人工介入。常见的手动修正集中在括号匹配、多行对齐结构(\begin{aligned})和特殊符号映射上。对于出版级质量控制,建议在编译后做一轮全文校对。

场景四:文档编辑 / 办公协作 → DOCX

办公协作场景的最高优先级是"可以改"。Markdown 虽好,但非技术团队的同事通常不会直接编辑 .md 文件。合同、报告、标书这类文档的生命周期包含多次审阅和修订------法务加条款、财务改数据、领导批注------这些环节都要求在 Word 原生环境中完成。DOCX 是这类协作场景中唯一能直接在 Word 中完成全流程编辑的格式。

样式保留能力边界

MinerU 输出的 DOCX 保留了以下样式信息:字体名称与大小、段落对齐方式(左/中/右/两端)、列表编号与缩进层级、表格边框与单元格合并(colspan/rowspan)、图片嵌入与浮动位置。这意味着一份合同或报告解析后,在 Word 中打开,外观与原 PDF 基本一致,可直接审阅和修改。这对于需要快速将 PDF 版的反馈意见转为可编辑 Word 文档的法务和商务团队尤其有价值。

但也有一些已知限制。表格的极端合并单元格(如跨 5 行以上、行内嵌套表格)可能降级为简单表格。字体映射方面,如果原 PDF 使用了系统未安装的字体,会回退为默认字体(Word 中通常是等线或宋体),这可能导致换行位置与原 PDF 不一致。DOCX 输出不保留 PDF 中的超链接和交互式表单字段------如果需要保留链接,需要手动添加或通过脚本补全。

与纯 Markdown 转 Word 的差异

有人可能会问:先解析成 Markdown,再用 Pandoc 转 DOCX,是不是也能达到类似效果?

两种路径的差异主要在表格和公式上。Markdown → Pandoc → DOCX 这条路径中,表格被降级为 GFM 语法(无合并单元格),公式被转为图片或 OMML(取决于转换器实现)。MinerU 的原生 DOCX 输出则保留表格的 HTML 结构(含合并单元格),公式以 OMML(Office Math Markup Language)格式嵌入------OMML 是 Word 的原生公式格式,支持在 Word 中继续编辑公式,而不是"冻结"为图片。

场景五:网页展示 / 在线预览 → HTML

需要在浏览器中直接展示 PDF 解析结果时,HTML 是最自然的选择。MinerU 的 HTML 输出将原始文档重建为一个独立的网页,图片内嵌(通过 base64 或独立 URL),样式独立于外部资源。

HTML 与 Markdown 的包含关系

技术上,Markdown 是 HTML 的子集------任何有效的 Markdown 都可以转换为 HTML,反之则不然。MinerU 的 HTML 输出比 Markdown 多保留了两类信息:

样式细节。 字体族、字号、颜色、背景色、段落间距------这些在 Markdown 中无法表达,但在 HTML 中有对应的 CSS 属性。对于品牌手册、企业年报等对视觉一致性有要求的场景,HTML 是唯一能保留原貌的文本格式。

表格结构。 MinerU HTML 输出中的表格以 <table> + <td colspan> + <td rowspan> 呈现,完整保留了合并单元格信息。Markdown 的 GFM 表格语法不支持合并单元格,遇到复杂表头会降级为多个独立单元格或纯文本。

网页嵌入的注意事项

将 MinerU 的 HTML 输出嵌入网页应用时,有几个实践建议:

  • 如果后续有二次编辑需求,HTML 内容可以先用 DOMParser 清洗,移除冗余的 inline style,替换为统一 CSS class。
  • 表格内容可配合 IntersectionObserver 做按需加载------对于 50 页以上的长篇文档,一次性渲染全部 HTML 表格可能影响首屏性能。
  • 图片建议从 base64 转为独立文件托管,尤其是批量展示场景------base64 内嵌会使 HTML 体积膨胀数倍。

选型速查表与决策流程

把前面的五类场景整合为一个决策框架,核心逻辑可以压缩成两个问题:

问题一:下游消费方是人类还是机器?

  • 人类 → 继续判断是否需要编辑
  • 机器 → JSON(数据挖掘/结构化分析)

问题二:如果需要人类阅读,是否要求可编辑?

  • 需要编辑 + 办公协作环境 → DOCX
  • 需要编辑 + 学术排版环境 → LaTeX
  • 不需要编辑,仅预览展示 → HTML
  • 需要兼顾可读与可编辑,且是 RAG/知识库 → Markdown

用表格呈现更直观:

下游场景 推荐格式 核心考量
RAG / 知识库检索 Markdown 标题层级天然分块,LangChain/LlamaIndex 原生集成
数据挖掘 / 结构化分析 JSON 含 bbox、阅读顺序、块类型,可直接提取表格/图片/公式
学术出版 / 公式排版 LaTeX(云端) 94.7% 公式语义保真度,直接编译
办公协作 / 文档编辑 DOCX(云端) 保留字体、段落、表格样式,Word/WPS 可直接编辑
网页展示 / 在线预览 HTML(云端) 完整 CSS 样式,表格含合并单元格

如果团队同时用开源部署和云端 API,记住一个简单的等价关系:开源本地跑 = Markdown + JSON;云端 API 调用 = Markdown + JSON + LaTeX + DOCX + HTML。 选型前先确认你的部署方式支持哪些格式------这不是功能取舍,是能力边界。

相关推荐
美摄科技1 小时前
GAN美颜SDK技术方案,用AI重新定义 “真实”!
人工智能·神经网络·生成对抗网络
互联网推荐官1 小时前
上海软件定制开发技术路径深度拆解:架构选型、工程落地与平台能力实测
人工智能·软件工程
水上冰石1 小时前
2026主流大模型编程工具及对比
人工智能
红色星际1 小时前
东软睿驰以安全开放的软件底座,加速AI Agent规模化上车
人工智能·安全
call me by ur name1 小时前
多模态大模型轻量化
前端·网络·人工智能
北京阿法龙科技有限公司1 小时前
真AR 眼镜 + AI 识别:重塑公安一线实战的智能天眼
人工智能·ar
爆打维c1 小时前
第3章 ROS基础编程(2.基本数据结构或API分析)
人工智能·机器人
日月新著1 小时前
Hermes Agent官方可选装Skills整理
人工智能
AI科技星2 小时前
全域数学信息原本72分册(数学物理卷)
人工智能·算法·数学建模·数据挖掘·量子计算