配置: 初始化 ISOS Agent Teams 软件研发模板
CI / lint (push) Successful in 6s

This commit is contained in:
2026-04-19 21:47:08 +08:00
parent 3ab6fe6504
commit 34346be862
202 changed files with 23544 additions and 0 deletions
+82
View File
@@ -0,0 +1,82 @@
---
name: isos-pdf2md
description: 将 PDF 文件转换为结构化 Markdown。使用 pdftotext 提取文本并后处理为标题、列表、表格、代码块等结构。触发:用户提到"PDF 转 Markdown"、"/isos-pdf2md"、或将 PDF 内容提取为可编辑格式。
---
# isos-pdf2md: PDF 转 Markdown 工具
将 PDF 文件转换为结构化 Markdown,用于项目文档处理。
## 触发条件
- 用户执行 `/isos-pdf2md`
- 用户提到"PDF 转 Markdown"、"提取 PDF 内容"、"PDF 变成 MD"
- 用户要求将 PDF 文件转为可编辑格式
## 使用方法
### 基本用法
```bash
# 由 Claude 调用脚本
/workspace/scripts/pdf2md.sh <input.pdf>
```
### 参数
| 参数 | 说明 |
|------|------|
| `-o FILE` | 输出文件路径(默认同名 `.md``-` 表示 stdout |
| `-f N` | 起始页码 |
| `-l N` | 结束页码 |
| `--raw` | 跳过后处理,输出原始文本 |
| `--no-toc` | 不生成目录 |
| `-h` | 显示帮助 |
### 示例
```bash
# 基本转换
/workspace/scripts/pdf2md.sh docs/ref.pdf
# 指定输出路径
/workspace/scripts/pdf2md.sh docs/ref.pdf -o docs/ref.md
# 只转换前 10 页
/workspace/scripts/pdf2md.sh docs/ref.pdf -f 1 -l 10
# 输出到 stdout(适合管道)
/workspace/scripts/pdf2md.sh docs/ref.pdf -o -
```
## 工作流程
1. **验证输入**:检查 PDF 文件存在、pdftotext 已安装
2. **提取文本**`pdftotext -layout -enc UTF-8 -nopgbrk` 提取带布局文本
3. **后处理**:Python 脚本识别结构并转为 Markdown:
- 全大写短行 → `##` 标题
- 短行 + 前空行 → `###` 标题
- `- ` / `* ` / `* ` 开头 → 无序列表
- `1.` 开头 → 有序列表
- 连续缩进 >= 4 空格 → 代码块
-`|` 的行 → 表格
- `---` 分隔线保留
4. **生成目录**:从 `##` 标题自动生成
5. **输出**:写入 .md 文件或 stdout
## 依赖
- `poppler-utils`(提供 `pdftotext` 命令)
## 已知限制
- 不支持扫描件/图片型 PDF(需 OCR)
- 复杂表格识别有限
- 多栏布局可能产生交错文本
- 不提取 PDF 中的图片
## 注意事项
- 转换完成后应读取输出文件,检查质量
- 如果输出不理想,可使用 `--raw` 获取原始文本后手动修正
- 对包含中文的 PDF,确保使用 `-enc UTF-8`(脚本已默认)