# PDF 洗 MD — LLM 提示词(v4) >用途:Python PyMuPDF 提取原始文本 →喂给 LLM → LLM 按此提示词整理成干净 Markdown >适用范围:通用技术文档(不限于 ST 芯片手册) --- ## 原始材料说明 - 源文件:技术参考手册 / 数据手册 / 规格书 / 标准文档 - PDF 通过 PyMuPDF 提取,存在以下典型问题: * 页眉页脚残留(文档名、版本号、页码) * 表格列裂、单元格错位、跨行跨列丢失 * 标题层级丢失或降级 * 图片/框图区域只剩占位符或空行 * 多栏排版文本顺序混乱 --- ## 一、目录(TOC)处理 **不混在正文页中,单独生成文件 `00_目录.md`** 文件格式(三列严格按此顺序): ```markdown | 章节号 | 标题 | 页码 | |--------|------|------| | 1 | About this document | 12 | | 1.1 | Typographical conventions | 13 | ``` - 列顺序固定:章节号 | 标题 | 页码(不可颠倒) - 按章节号数字顺序排列(同一顶级章节的子章节排在一起) - 不要点号填充(不要 `1.1.1 .......... 15` 这种,用纯表格) - 封面页(p1)不入目录,目录本身不入目录 --- ## 二、文件名生成规则 每页正文对应一个独立 MD 文件,规则如下: **规则一:页在 TOC 中有映射** → `章节号_标题_p{页码}.md` - 章节号中 `.` 原样保留,不替换 - 标题只取英文/数字/中文,空格替换为下划线,总长不超过 200 字符 - 中文标题直接保留,不强制翻译为拼音 - 多段标题只保留第一段 示例: ``` 2.1.1_Bus_matrices_p110.md 1.3.1_System_level_interface_p14.md ``` **规则二:页不在 TOC 中** → `{页类型}_p{页码}.md` 示例: ``` List_of_tables_p10.md Revision_history_p260.md Figure_list_p8.md ``` **规则三:页类型也未知** → `p{页码}_unknown.md` --- ## 三、正文页处理要求 ### 1. 正文内容 — 逐字保留,与原文完全一致 - 不改写、不概括、不翻译、不遗漏 - 技术术语、缩写、信号名保留原文 - 数值、地址、偏移量、寄存器名逐字保留 - 换行位置与原文保持一致 ### 2. 表格 — 严格还原原始结构 - PDF 提取后表格经常列裂或单元格错位 - 以内容语义为准,合并被拆散的单元格 - 保留原始列数、行数、合并单元格结构 - 不省略任何列,用 | 分隔 - **表格表头行**(如 "Mnemonic | Operands | Brief description | Flags | Page")和**表格标题行**(如 "Table 21. Cortex-M4 instructions")是独立于数据行的元数据,**不要**作为数据行写入表格: - 表头行:单独提取为表格的第一行(加粗或作为表头分隔线后第一行) - 表格标题行(如 "Table 21."):**单独一行**写在表格上方,用加粗 `**Table X. 标题**` 格式,不混入表格内 - 寄存器位域表保留 bit31...bit0 从左到右顺序 - **多栏表格(2栏及以上)**:优先保留为 Markdown 多栏表格格式(每栏对应一列),栏间用 `|` 分隔;同一格内需要换行时用 `
` 换行,**不要**拆成普通段落或列表 ### 3. 排版 — 保持原文档版式 - 缩进、空行数量与原文一致 - 列表项层级和顺序不变 - 不添加原文没有的解释性文字 - 寄存器值、路径名用 `...` 包裹保持等宽 ### 4. 框图 / Figure — 通过 Markdown 图片链接引用截图 - 发现 "Figure"、"图"、"Diagram"、"Block diagram" 等图形区域 - **先写标题文字,再在标题下方插入图片占位符** - 标题格式:`**Figure X. 图标题文字**`(加粗保留原标题) - 占位符:`![图 X](imgs/page_{页码}_fig_{编号}.png)` - 链接路径为相对路径,**只使用正斜杠 `/` 作为分隔符**(禁止反斜杠 `\`) - **禁止绝对路径**,所有路径相对于 MD 文件所在目录 - 截图由后续步骤单独生成,此处只生成占位符 - 不在正文中用文字描述图形内容(标题文字除外,原样保留) ### 5. 标题层级 — 根据章节号判断 - "X.X.X" 格式:一级=1,二级=1.1,三级=1.1.1,四级=1.1.1.1 - 一级 → ##,二级 → ###,三级 → ####,四级 → ##### - 标题文字取自 PDF 原文,不改写 ### 6. 页眉页脚清理 - 删除所有包含文档名、版本号、页码格式(如 "1/262")的独立行 - 删除版权声明、空白占位行 - 正文第一行前不留多余空行 ### 7. 关于文件名中的页码 - 页码使用 PDF 物理页号(从封面 p1 开始计数) - 封面(p1)不生成正文 MD 文件,只截图存档 - 文件名中的 `p{页码}` 对应 PDF 物理页号,而非内容章节号 ### 8. 寄存器描述中的缩写(r / rw / rc_w0 等) - 在寄存器描述表格中出现的读写属性缩写(r、rw、rc_w0、rc_w1、w、t、Res.)保留原文 - 不要翻译,不要加引号,不要改成代码块包裹 - 它们是表格内容的一部分,原样保留即可 --- ## 四、文件输出格式 每个 PDF 页对应一个独立 Markdown 文件。 **文件头:** ```markdown 来源:{文档名} Rev {版本},Page {页码} ``` > 注:文档名取 PDF 元数据中的实际文档标题,不要写简称或代号。 **文件尾:** ```markdown > 原始图片:imgs/page_{页码}_*.png(无图则注明无图) ``` **封面页(p1)处理规则:** - 封面页**不生成**目录条目,也不生成正文 MD 文件 - 封面页单独提取为一张截图:`imgs/page_1_cover.png` --- ## 五、严格禁止 - 改写、概括、翻译原文内容 - 合并或拆分句子 - 省略表格中的任何列或行 - 在正文中用文字描述替代图形占位符 - 在目录文件中混入正文内容 - 为封面页(p1)生成目录条目或正文 MD 文件 - 输出任何处理过程说明,只输出 Markdown 原文 - 路径中使用反斜杠 `\` 或绝对路径 --- 请严格按照上述规则处理每一页。