跳转至

第4章:输出文件详解

学习目标

学完这一章,你将知道: - ✅ 输出文件有哪些?都是什么? - ✅ 最重要的文件是什么?怎么看? - ✅ 其他文件是用来做什么的? - ✅ 怎么用这些文件


4.1 输出文件一览

运行MinerU后会得到什么?

Bash
1
mineru -p test.pdf -o output

output文件夹里会有这些文件

Text Only
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
output/
├── test.md                    # ⭐ 最重要:处理后的文字
├── test_middle.json            # 中间数据
├── test_model.json            # 模型输出
├── test_content_list.json      # 内容列表
├── test_layout.pdf            # 布局可视化
├── test_span.pdf              # 文字可视化
├── test_origin.pdf            # 原始PDF
└── images/                   # 图片文件夹
    ├── image_0.png
    ├── image_1.png
    └── ...


用生活例子类比

MinerU处理PDF就像整理书房

步骤 MinerU做的是 得到的文件 用途
1. 把书拆开 识别文字、表格、公式 test.md ⭐ 最重要,直接阅读
2. 分类整理 按类型归类 test_middle.json 给程序处理用
3. 记录过程 记录识别结果 test_model.json 调试用
4. 按顺序排列 按阅读顺序整理 test_content_list.json 搜索用
5. 标记位置 标记每个部分在哪 test_layout.pdf 检查用
6. 提取图片 把图片单独保存 images/ 查看图片用

4.2 最重要的文件:test.md

这是什么?

test.md - 处理后的文字文件

为什么最重要?

  • ✅ 这是你要用的文件
  • ✅ 里面包含了所有文字、表格、公式、图片的描述
  • ✅ 可以直接用记事本打开看
  • ✅ 可以导入到其他软件里

test.md里有什么?

打开test.md,你会看到类似这样的内容:

Markdown
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 技术手册

## 1. 产品介绍

这是产品介绍段落,告诉你这个产品是用来做什么的。

### 1.1 功能特点

这个产品有以下特点:

- 功能1:自动识别文字
- 功能2:提取表格数据
- 功能3:识别数学公式
- 功能4:提取图片并生成描述

### 1.2 技术参数

**表格1.1**:技术参数表

| 参数 | 数值 | 单位 |
|------|------|------|
| 电压 | 220 | V |
| 电流 | 10 | A |
| 功率 | 2200 | W |
| 频率 | 50 | Hz |

### 1.3 计算公式

这个产品使用的计算公式是:

**公式**:$P = U \times I$

其中:
- P 是功率(单位:W)
- U 是电压(单位:V)
- I 是电流(单位:A)

也可以写成更完整的形式:

$$
P = U \times I
$$

### 1.4 产品外观

**图1.1**:产品外观图

![产品外观图](images/image_0.png)

这是一款黑色智能手机,正面有6.5英寸屏幕,
后置三摄相机,侧面有音量键和电源键。

Markdown格式是什么?

Markdown = 一种简单的文字格式

特点: - ✅ 用符号标记格式 - ✅ 人可以直接阅读 - ✅ 很多软件都能打开 - ✅ 很容易转换成其他格式(比如PDF、HTML)


Markdown常用符号

符号 用途 例子 显示效果
# 一级标题 # 标题 大标题
## 二级标题 ## 小标题 中标题
### 三级标题 ### 更小标题 小标题
- 无序列表 - 项目1 • 项目1
**文字** 加粗 **重要** 重要
$公式$ 行内公式 $E=mc^2$ 公式在行内
$$公式$$ 独立公式 $$E=mc^2$$ 公式单独一行
![描述](图片路径) 插入图片 ![图](img.png) 显示图片
| 表格分割线 |列1|列2| 表格

怎么打开test.md?

方法1:用记事本

Text Only
1
2
3
1. 右键点击 test.md
2. 选择"打开方式"
3. 选择"记事本"

方法2:用VSCode(推荐)

Text Only
1
2
3
1. 安装VSCode(如果还没有)
2. 右键点击 test.md
3. 选择"Open with Code"

方法3:用Typora(最好看)

Text Only
1
2
3
1. 安装Typora(Markdown编辑器)
2. 双击 test.md
3. 会看到排版好的效果(就像Word文档一样)

4.3 images文件夹

这是什么?

images/ - 提取的图片

里面有什么?

Text Only
1
2
3
4
5
images/
├── image_0.png    # 第1张图片
├── image_1.png    # 第2张图片
├── image_2.png    # 第3张图片
└── ...


图片是怎么命名的?

  • image_0.png:第1张图片
  • image_1.png:第2张图片
  • image_2.png:第3张图片
  • ...

注意:是从0开始数的,不是1!


怎么看这些图片?

方法1:直接双击打开

Text Only
1
2
3
1. 打开images文件夹
2. 双击 image_0.png
3. 会用默认的图片查看器打开

方法2:在test.md里看

在test.md里,会看到这样的内容:

Markdown
1
![产品外观图](images/image_0.png)

如果在Typora里打开test.md: - 会直接显示图片(不用单独打开) - 鼠标悬停可以看到图片路径


4.4 其他文件(给程序用的)

test_middle.json

这是什么? - 中间格式数据 - 给程序处理用的 - 包含了所有提取的信息(文字、表格、公式、图片)


里面有什么?

JSON
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
{
  "pdf_info": {
    "title": "技术手册",
    "authors": [],
    "page_count": 10,
    "language": "ch",
    "sections": [
      {
        "text": "1. 产品介绍",
        "level": 1,
        "content": "这是产品介绍段落...",
        "children": [...]
      }
    ],
    "tables": [...],
    "images": [...],
    "formulas": [...]
  }
}

用来做什么? - ⭕ 提取表格数据 - ⭕ 提取公式 - ⭕ 提取图片描述 - ⭕ 做二次开发(比如构建搜索系统)

普通人需要这个吗? - 不需要! - 如果你只是想看看PDF里的内容,用test.md就够了 - 如果你想用程序处理PDF,才需要这个


test_content_list.json

这是什么? - 内容列表 - 按阅读顺序排列 - 适合用来搜索


里面有什么?

JSON
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
[
  {
    "type": "text",
    "content": "这是段落内容..."
  },
  {
    "type": "table",
    "content": "<table>...</table>",
    "caption": "表格1.1"
  },
  {
    "type": "image",
    "content": "产品外观图,展示正面视图"
  },
  {
    "type": "formula",
    "content": "P = U × I"
  }
]

用来做什么? - ⭕ 构建搜索系统 - ⭕ 快速查找内容 - ⭕ 做内容分析

普通人需要这个吗? - 不需要! - 除非你要做搜索系统


test_model.json

这是什么? - 模型输出 - 调试用 - 包含了模型识别的详细信息


用来做什么? - ⭕ 调试(看看模型识别得对不对) - ⭕ 分析识别结果

普通人需要这个吗? - 不需要! - 除非你要调试问题


4.5 可视化文件(检查用)

test_layout.pdf

这是什么? - 布局可视化 - 把PDF的版面布局画出来


用来做什么? - ⭕ 检查MinerU识别的版面对不对 - ⭕ 看看哪块被识别成标题、正文、表格


举例

Text Only
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
原始PDF:
┌──────────────────────────────────┐
│  1. 产品介绍                    │
│                                  │
│  这是段落内容。                  │
│                                  │
│  ┌──────────┐                   │
│  │  表格1   │                   │
│  └──────────┘                   │
└──────────────────────────────────┘

test_layout.pdf:
┌──────────────────────────────────┐
│  [标题框] 1. 产品介绍           │
│                                  │
│  [文本框] 这是段落内容。          │
│                                  │
│  ┌──────────┐                   │
│  │[表格框] │                   │
│  └──────────┘                   │
└──────────────────────────────────┘

说明:
- 红框 = 标题
- 蓝框 = 正文
- 绿框 = 表格

普通人需要这个吗? - 一般不需要 - 除非你想检查识别效果


test_span.pdf

这是什么? - 文字span可视化 - 显示每个文字片段的位置


用来做什么? - ⭕ 检查文字提取的位置对不对 - ⭕ 调试文字提取问题


普通人需要这个吗? - 不需要! - 除非要调试文字提取问题


test_origin.pdf

这是什么? - 原始PDF - 备份


用来做什么? - ⭕ 对比处理前后的差异 - ⭕ 作为备份


普通人需要这个吗? - 不需要! - 只是一个备份文件


4.6 文件大小参考

一个10页的PDF,输出文件大概多大?

文件 大小 说明
test.md 10KB 很小,纯文字
images/ 5MB 看图片多少
test_middle.json 2MB 中等
test_content_list.json 1MB 较小
test_model.json 3MB 中等
test_layout.pdf 1MB 和原PDF差不多
test_span.pdf 1MB 和原PDF差不多
test_origin.pdf 1MB 原始PDF
总计 约15MB

4.7 实际操作:查看输出

步骤1:处理一个PDF

Bash
1
2
# 假设你已经处理了一个PDF
mineru -p test.pdf -o output

步骤2:查看文件列表

Bash
1
2
3
4
5
# 进入output文件夹
cd output

# 查看所有文件
ls -lh

你会看到

Text Only
1
2
3
4
5
6
7
8
-rw-rw-r-- 1 user user  12K  2月20 16:00 test.md
-rw-rw-r-- 1 user user 2.1M  2月20 16:00 test_middle.json
-rw-rw-r-- 1 user user 1.5M  2月20 16:00 test_model.json
-rw-rw-r-- 1 user user 980K  2月20 16:00 test_content_list.json
-rw-rw-r-- 1 user user 1.1M  2月20 16:00 test_layout.pdf
-rw-rw-r-- 1 user user 1.1M  2月20 16:00 test_span.pdf
-rw-rw-r-- 1 user user 1.1M  2月20 16:00 test_origin.pdf
drwxrwxr-x 2 user user 4.0K  2月20 16:00 images


步骤3:打开test.md

Bash
1
2
3
4
5
# 用文本编辑器打开
# 假设你用nano(命令行编辑器)
nano test.md

# 或者直接用记事本打开(在Windows文件管理器里)

你会看到: - 整齐的文字 - 表格 - 公式 - 图片引用


步骤4:查看图片

Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 进入images文件夹
cd images

# 查看图片
ls -lh

# 用图片查看器打开
# Linux: eog image_0.png
# Windows: 直接双击
# Mac: open image_0.png

步骤5:对比原始PDF

Bash
1
2
3
4
5
6
7
8
# 打开原始PDF
# 和test.md对比一下

# 你会发现:
# - 文字提取出来了
# - 表格整理好了
# - 公式转换成标准格式了
# - 图片单独保存了

4.8 文件选择指南

你需要什么文件?

你的需求 需要的文件 说明
只想看PDF内容 test.md 这就够了!
想看图片 images/ 图片文件夹
想用程序处理 test_middle.json 或 test_content_list.json
想检查识别效果 test_layout.pdf 查看版面识别
想调试问题 test_model.json 查看模型输出

推荐的使用方式

普通用户: 1. 只需要 test.md 2. 如果有图片,还需要 images/

开发者: 1. 需要 test_middle.jsontest_content_list.json 2. 可能需要 test_model.json 调试

调试者: 1. 需要 test_layout.pdftest_span.pdf 2. 对比 test_origin.pdf


本章小结

核心要点

  1. 最重要的文件
  2. test.md - 处理后的文字(你需要这个)
  3. images/ - 提取的图片

  4. 给程序用的文件

  5. test_middle.json - 中间数据
  6. test_content_list.json - 内容列表

  7. 调试用的文件

  8. test_model.json - 模型输出
  9. test_layout.pdf - 布局可视化
  10. test_span.pdf - 文字可视化

  11. Markdown格式

  12. 简单的文字格式
  13. 用符号标记
  14. 人可以直接阅读

  15. 文件选择

  16. 普通用户 → test.md + images/
  17. 开发者 → test_middle.json
  18. 调试者 → 可视化文件

实践任务

任务1:查看所有文件

  • [ ] 处理一个PDF
  • [ ] 列出所有输出文件
  • [ ] 打开test.md查看

任务2:查看图片

  • [ ] 进入images文件夹
  • [ ] 打开所有图片
  • [ ] 在test.md里找到图片引用

任务3:对比文件

  • [ ] 对比test.md和原始PDF
  • [ ] 看看文字提取得对不对
  • [ ] 看看表格整理得对不对