标签 RAG知识库 下的文章

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

先上几张图:



上周周末赶汇报 PPT 正愁进度时,看到了论坛佬友们强烈推荐 banana-slides 项目,于是乎自己本地部署和使用了一下,体验是真的惊艳 —— 一方面是惊叹于大香蕉模型的图片输出美观程度,另外一方面也是感叹开发者的思路之优秀。

一句话 / 大纲就能生成,口头改改就迭代,导出可编辑 PPTX 也基本能用,确实改变了游戏规则。

但用着用着我就开始手痒了:文字偶尔还是会小崩(尤其是复杂表格 / 长句),纯图像 PDF 导出后想手动修又麻烦;预览是静态的,没法直接在浏览器里 “播放” 过一遍;而且我想加点更 “所见即所得” 的编辑(比如自动扣图层、前端拖拽改元素、在浏览器里加简单动画过渡),以及加入联网搜索、知识库的接入等等。

鉴于我 “非常喜欢自己造轮子” 的性格,于是我周末抽空基于 banana-slides 的核心思路(图像优先 + vibe 迭代),自己搓了个早期版本,主要改动点目前有这些(还在 WIP 阶段,佬们多来给点建议和 idea):

  • 后端生成后自动二次调用 AI 扣背景 + OCR 提取文字 → 输出分层数据(背景图 + 文字层 + 图标层),导出时可选 “纯图像 PDF”(快)或 “分层 ZIP/PPTX”(方便本地修)。
    - 支持接入 rag 知识库,对一些学术类,需要大量参考资料的 ppt 生成更加友好。

  • 前端加了个基础的在浏览器预览 / 播放模式(用 reveal.js 模拟全屏切换,带简单过渡),不用下载就能快速过一遍效果。

  • 计划支持用户在线拖拽 / 改文字(Fabric.js 那种),但这个还在画饼阶段。

  • 许可证打算用 Apache 2.0,更开放点(欢迎 fork / 商业用,只要留版权)。

目前核心生成已经能跑通,界面也基本可用,但前端编辑和动画还在迭代中,bug 肯定不少。于是乎想着提前来 linux.do 水个帖,顺便求拍砖:

  • 大家觉得分层编辑 + 在线播放这个方向值不值得继续搞?(还是先专注生成质量?)
  • 大家平时做 PPT 最烦哪部分?排版?文字崩?还是没好模板?
  • 如果开源了,你们希望先看到哪个功能完善(分层编辑 vs RAG vs 动画支持)?
  • 目前项目整体还不算完善,因此打算稍晚些再把仓库开放出来

感谢 banana-slides 作者的开源思路,没有原项目我根本想不到这么巧妙的设计思路
也感谢 linux.do 这个社区,让我能够了解到这么优秀的 AI 工具~


📌 转载信息
原作者:
JamesTofard
转载时间:
2026/1/14 10:48:40