标签 Markdown处理 下的文章

MinerU 后处理脚本

这是一个用于处理 MinerU 工具生成的 Markdown 文件的 Python 脚本,主要用于批量处理 PDF 转换后的文档,优化文件结构和图片路径。

mineru 后处理.zip

功能特点

  • 批量处理:自动扫描并处理目录下的所有 PDF 转换文件夹
  • 路径转换:将 Markdown 文件中的相对路径图片链接转换为绝对路径
  • 智能拆分:根据文件大小和标题结构自动拆分大型文档
  • 记录管理:自动记录转换历史,避免重复处理
  • 内容优化:过滤并合并内容过少的章节,提高文档质量

工作原理

脚本会:

  1. 扫描当前目录下所有包含 .pdf 的文件夹
  2. 查找每个文件夹中的 full.md 文件
  3. 将相对路径图片链接转换为绝对路径
  4. 根据文件大小决定是否拆分:
  1. 将处理后的文件保存到 【00 md文件】 文件夹
  2. 转换记录.md 中记录处理历史

配置参数

脚本顶部提供了以下可调整参数:

MAX_FILE_SIZE_KB = 50 # 拆分阈值(KB)
SPLIT_CHUNK_SIZE_KB = 20 # 无标题时的拆分块大小(KB)
MIN_CHAPTER_CONTENT_LEN = 200 # 章节最小有效内容长度(字符) 

使用方法

环境要求

  • Python 3.6+
  • 无需额外依赖(仅使用标准库)

运行脚本

python mineru后处理.py

目录结构要求

脚本期望的目录结构:

当前目录/
├── mineru后处理.py
├── 【00 md文件】/           # 输出目录(自动创建)
├── 文件名1.pdf-xxx/         # MinerU 生成的文件夹
│   ├── full.md             # 需要处理的 Markdown 文件
│   ├── images/             # 图片文件夹
│   └── ...
├── 文件名2.pdf-xxx/         # 其他 PDF 转换文件夹
│   ├── full.md
│   └── ...
└── ...

输出结果

处理完成后,【00 md文件】 文件夹将包含:

  • 未拆分的完整文件:原文件名.md
  • 拆分后的章节文件:原文件名 第1章.md原文件名 第2章.md
  • 转换记录:转换记录.md

核心功能详解

1. 图片路径转换

将 Markdown 中的图片链接从相对路径转换为绝对路径:

# 转换前
![图片描述](./images/example.png)

# 转换后
![图片描述](F:/完整路径/images/example.png)

2. 智能文档拆分

按标题拆分(优先)

  • 识别一级标题(# 标题
  • 过滤内容过少的章节(小于 200 字符)
  • 自动合并内容不足的章节到前一章

按大小拆分(无标题时)

  • 尽量保持段落完整性

3. 转换记录

自动生成 转换记录.md,记录:

  • 原文件名
  • 转换时间
  • 原文件夹名称
  • 章节信息
  • 目标文件路径

注意事项

  1. 路径兼容性:脚本已针对 Windows 路径进行优化
  2. 编码处理:统一使用 UTF-8 编码
  3. 重复处理:已处理的文件会自动跳过
  4. 错误处理:包含完善的异常处理机制
  5. 文件安全:不会修改原始文件,仅在目标目录创建新文件

常见问题

Q: 脚本提示 "未找到 full.md"?

A: 确保 MinerU 生成的文件夹中包含 full.md 文件。

Q: 如何调整拆分大小?

A: 修改脚本顶部的 MAX_FILE_SIZE_KB 参数。

Q: 可以处理其他格式的文档吗?

A: 脚本专门为处理 MinerU 生成的 Markdown 文件设计。

Q: 如何重新处理已转换的文件?

A: 删除 【00 md文件】 中的 转换记录.md 文件即可重新处理所有文件。


📌 转载信息
转载时间:
2026/1/16 12:24:31