pdf-ragflow-split

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

将 PDF 文档拆分为 RAGFlow 可高效识别的三类 Markdown(text.md 正文 + tables.md 表格 + images/ 图片)。流程含:跨页断表自动检测并生成清单交用户确认、按确认结果合并跨页表格、自动校正图片方向、生成可直接导入 RAGFlow 的上传文件夹与配置注意事项。当用户要求把 PDF 拆分/转换为 RAGFlow 友好的 md、执行「文档拆分→向量化前置」流程、或重建该工作流时使用。

一句话选型结论

按资料字段整理

pdf-ragflow-split是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_0d959560/pdf-ragflow-split
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_0d959560仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791680518
正文体量8.6 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
pdf-ragflow-split当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

8.6 KB
模型实际读到的说明书原文,来自技能仓库

PDF → RAGFlow 拆分(三件套 + 方案A 单文件合并)

将 PDF 拆成 text.md(正文)、tables.md(表格)、images/(图片)三件套,再用 merge_md.py 合并为 merged.md 单文件(表格插入正文引用处、同 chunk),保证 RAGFlow 问答时正文与表格同时命中。RAGFlow 对 MD 兼容性最佳,目标是让它「零歧义」识别。

前置条件

  • 托管 Python venv(Windows):binaries/python/envs/default/Scripts/python.exe
  • 依赖:pymupdf、pdfplumber、Pillow
  • 安装命令:<venv-python> -m pip install pymupdf pdfplumber Pillow
  • 待拆分 PDF 的绝对路径

工作流(三步,务必按序执行)

步骤一:检测(跨页断表 + 合并单元格)→ 生成处理记录表 → 交互确认

  1. 运行 scripts/build_merge_rules.py <PDF路径> -o <输出目录> [--exclude 不合并关键词...] [--fix-span "标题:页数"...]
  2. 脚本自动:
    - 检测跨页断表(表序列+标题归属分组,跨 2 页以上为候选)
    - 检测合并单元格(存在向下填充的表,排除被合并的续表块)
    - 生成 <输出目录>/<原始文件名>-处理记录表.md(含两部分,状态=待拆分):
    • 一、跨页断表记录:表标题/涉及页/表块位置/状态
    • 二、合并单元格记录:表名/涉及页/表块位置/状态
  3. 交互式逐个确认每个候选「此表合并?(y/n)」(回车=合并;可用 --include 1,3,5 跳过交互直接指定)
    - 用户核对 PDF 原文:确认合并/不合并、修正跨页范围(--fix-span 截断页数、--exclude 排除)
  4. 确认完成后生成 merge_rules.json(拆分必需输入)——确认好之后再拆分

步骤二:拆分生成三件套

  1. 运行 scripts/split_pdf.py <PDF路径> -o <输出目录> -m merge_rules.json [-t 文档标题]
  2. 输出目录下生成:
    - text.md:正文,按页 ## 第 N 页 分段;图片相对引用 images/xxx.png;表格区域用引用标识关联 tables.md
    - tables.md:全部表格,跨页断表已合并(保留起始页标题/锚点,来源标注续表页),锚点回链 text.md;合并单元格已按方案B向下填充
    - images/:图片按 xref 去重,方向已自动校正
  3. 更新处理记录表:运行 scripts/update_record.py -o <输出目录>
    - 跨页断表记录:状态更新为「✅ 已拆分」或「✗ 未合并」
    - 合并单元格记录:状态更新为「✅ 已拆分」
    - 用户据此核对:哪些已拆分、哪些未拆分,再拿 tables.md 与原始 PDF 对比

步骤三:合并生成单文件(方案 A)+ 上传配置

> ⚠️ RAGFlow 不跨文件关联:text.md 里的「详见 tables.md#tbl-pXX-tY」只是超链接文本,RAGFlow 不会 follow 链接把目标表格拉进同一 chunk,问答时只能命中正文、看不到表格本体。必须合并成单文件再上传。

  1. 运行 scripts/merge_md.py <text.md> <tables.md> -o <输出目录>/merged.md
    - 每个表格在其第一次被引用的正文位置正下方插入完整表格块(81 表 → 81 处插入)
    - 表格块保留 ### 表格 第X页-表Y 标题(作 ### ## # 切块边界)+ > 来源 溯源行
    - 引用行重写:「详见 tables.md#xxx」→「见下表」/「已并入上表」,无残留死链
    - 图片相对引用 images/xxx.png 不变
  2. RAGFlow 上传:只上传 merged.md + images/(text.md / tables.md 不再单独上传)
  3. 按 references/ragflow-config.md 向用户说明 RAGFlow 知识库配置要点

关键避坑(均已固化为脚本逻辑)

  1. 取图片 xref:用 page.get_images(full=True) 拿 xref + page.get_image_rects(xref) 拿位置。⚠️ 不要用 get_image_info() 的字段取 xref——它返回的是 number 而非 xref,会导致图片全丢。
  2. 图片上下颠倒:PDF 中图像 transform 矩阵第 4 位(d)<0 表示垂直翻转嵌入,直接提取的位图是倒的。用 page.get_image_info(xrefs=[xref]) 检查 transform,d<0 时用 Pillow FLIP_TOP_BOTTOM 翻转。
  3. 跨页断表检测:pdfplumber 可能把同页多个表合并为一个表块,且列数相同的续表会跨页误链。正确算法:把所有表块排成序列,按「表上方是否有标题」分组(有标题=新组开头,其后无标题表=续表),组跨 2 页及以上为候选。用户修正的跨页范围优先于自动检测。
  4. 合并表去重表头:续表块首行若与起始表表头归一化后相同,跳过该行。
  5. 正文跳过表格文字:用「块中心是否落入表格 bbox」判定,避免与 tables.md 重复。
  6. markdown 表格生成:过滤全空行、单元格 | 转义为 \|、首行后加 |---| 分隔。
  7. 合并单元格向下填充(方案B):PDF 的 rowspan 合并单元格提取后内容只在首行、后续行为空;标准 md 不支持合并单元格,为避免 RAG 切块时丢语义,用 forward-fill 把空单元格填充为同列上方最近的非空值。规则(防误填):
    - 默认填满整个表(到表头列数),但列名含「LOD」/「备注」等数据列关键字的列跳过填充(避免数据列被错误继承)
    - 表头行不参与填充(避免列名向下复制)
    - 原始全空行跳过填充(pdfplumber 会把空白行提取为一行,填充后变伪数据行)
    - 跨页合并时续表块首行若等于起始表数据首行(跨页重复首行),也需跳过去重
  8. PDF 原文漏填需人工补全:若某单元格 PDF 原文就是空白(非合并延续,如表4.5-1 明细表设置中 5 个明细表的字段/排序列制版漏填),forward-fill 无法自动补,需人工按同表同类内容补全后再跑拆分(或在生成后手工修订 tables.md)。
  9. 处理记录表:步骤一 build_merge_rules.py 生成「<原始文件名>-处理记录表.md」(跨页断表记录 + 合并单元格记录,含状态列,待拆分版);拆分后 update_record.py 更新状态(已拆分/未合并)。记录表不进入 RAGFlow,供执行中核对。
  10. 跨页合并表列对齐:续表块(PDF 下半页的表块)列数常少于起始表块(PDF 上半页省略了某些分类列),按 max 列数末尾补齐会导致续表行内容向左偏移、跨页列对不齐。修复:合并时把续表块的每行按起始表头列数前面补空对齐,使 LOD100/备注等数据列位置与起始页严格一致。
  11. 表头空列名自动修复:PDF 表格有物理列分隔但某些列无标题文字(如建筑构件参数表第28页-表2的「系统」「属性1」「属性2」等位置无标题),生成 tables.md 后 RAGFlow 解析时会把空表头列当独立列(自动命名如「属性信息」)导致多列错位。修复:split_pdf.py 在生成 markdown 时对表头空列做推断填名——数据列若全是 LOD 符号(-/△/▲)→ 推断 LODxxx;若是数字编号 → 序号;第 0 列空 → 序号;其他 → 占位「列N」。
  12. RAGFlow 不跨文件关联链接:分文件上传 text.md + tables.md 时,正文里的「详见 tables.md#锚点」只是普通文本,问答召回只会命中正文、不带表格。必须用 merge_md.py 合并为 merged.md 单文件(表格插入正文引用处、同 chunk),再上传 merged.md + images/。

校验(生成后必做)

  • 表标题数 = 锚点数 = text.md 引用数(双向一致)
  • 无重复「页码-表号」组合
  • 表格行格式零异常(| 开头、行尾 |、--- 分隔)
  • text.md 引用的图片文件都存在于 images/
  • merged.md:表格标题数 = 81(或 tables.md 表数)、无重复锚点、引用行无残留 tables.md 死链、图片引用齐全
  • 校验通过后再交付或上传

交付

  • 展示 merged.md(方案 A 上传版)、text.md、tables.md
  • 说明 ragflow_upload/ 路径与 RAGFlow 配置要点(见 references/ragflow-config.md)
  • 提示:RAGFlow 上传 merged.md + images/,不要单独上传 text.md / tables.md

常见问题

5 问
答案由本站依据条目字段整理
pdf-ragflow-split怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_0d959560/pdf-ragflow-split。安装方式为未标注。装完刷新技能列表或重开客户端。

pdf-ragflow-split支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

pdf-ragflow-split权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

pdf-ragflow-split收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

pdf-ragflow-split用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。