---
name: Evidence Binder
slug: evidence-binder
category: Automation
description: "Physically assembles evidence files for Chinese court submissions: sorts, renames, converts to PDF, and adds continuous pagination using an evidence index."
github: "https://github.com/Youchu-lawhub/cn-litigation-toolkit/tree/main/skills/evidence-binder"
language: Python
stars: 19
forks: 2
install: "npx degit https://github.com/Youchu-lawhub/cn-litigation-toolkit/tree/main/skills/evidence-binder ~/.claude/skills/evidence-binder"
installs_to: ~/.claude/skills/evidence-binder
source_path: skills/evidence-binder/SKILL.md
collection_size: 23
category_size: 1523
collection_url: "https://dirskills.com/collections/Youchu-lawhub/cn-litigation-toolkit"
added: 2026-08-11T07:22:24.934Z
last_synced: 2026-08-11T07:22:24.934Z
canonical_url: "https://dirskills.com/skills/evidence-binder"
---

# Evidence Binder

Physically assembles evidence files for Chinese court submissions: sorts, renames, converts to PDF, and adds continuous pagination using an evidence index.

**Install:**

```bash
npx degit https://github.com/Youchu-lawhub/cn-litigation-toolkit/tree/main/skills/evidence-binder ~/.claude/skills/evidence-binder
```

## README

# 证据装册（evidence-binder）

> 物理层面的证据册装配技能——将证据文件按照 `/evidence-index` 的逻辑分组进行排序、重命名、格式转换、编页码、归档，最终形成可提交法院的完整证据册。
>
> **职责边界**：本技能负责文件的物理操作（重命名/转PDF/文件夹组织/页码编排），不负责证据的逻辑分组和证明对象撰写（那是 `/evidence-index` 的工作）。

---

## 前置条件

| 材料 | 说明 |
|------|------|
| 证据材料文件 | 用户提供的原始证据文件（PDF/图片/Word等） |
| 证据目录 | 已通过 `/evidence-index` 生成的证据目录（含分组结构和编号） |

两项缺一不可。如证据目录尚未生成，提示用户先调用 `/evidence-index`。

---

## 工作流程

### Step 1: 解析证据目录

解析证据目录文本，提取：分组结构（组号、组名）、每份证据的编号（组号-序号）与名称、证据总份数。

### Step 2: 匹配原始证据文件

1. 列出用户提供的所有原始证据文件
2. 自动匹配文件与证据目录条目（基于文件名关键词/序号）
3. 输出匹配结果表格，**必须等用户确认所有对应关系后再继续**

```
| 证据编号 | 证据名称 | 匹配文件 | 状态 |
|----------|----------|----------|------|
| 1-1 | 营业执照 | yyzz.pdf | ✓ 已匹配 |
| 1-2 | 法定代表人身份证明 | ? | ❌ 待确认 |
```

### Step 3: 备份 → 重命名

1. **备份原始文件**到工作目录（`证据册_原始备份_{时间戳}/`）
2. 按格式重命名：`{编号}{证据名称}.{扩展名}`（如 `1-1营业执照.pdf`）

### Step 4: 按分组创建文件夹

```
证据册/
├── 第一组-主体资格证据/
│   ├── 1-1营业执照.pdf
│   └── 1-2法定代表人身份证明.pdf
├── 第二组-合同成立证据/
│   └── ...
└── evidence-index.docx
```

### Step 5: 格式转换为PDF

| 源格式 | 转换方案 |
|--------|----------|
| 图片(JPG/PNG/TIFF) | img2pdf（保持原分辨率）→ 备选 Pillow |
| Word(.docx) | LibreOffice headless → 备选 pandoc |
| Word(.doc, macOS) | textutil 转 docx → LibreOffice |
| 已是PDF | 保持原样 |
| 多张图片同一证据 | 合并为一个PDF |

转换失败时：保留原始文件，标注"待手动处理"，不阻塞其他文件。

### Step 6: 编连续页码

1. 用 pypdf 统计每份证据PDF页数
2. 从第1页起连续编号，按证据目录顺序累加
3. 计算每份证据的"起始页-结束页"范围
4. 将页码范围回填到证据目录

**输出示例**：
```
| 编号 | 证据名称 | 页数 | 页码范围 |
|------|----------|------|----------|
| 1-1 | 营业执照 | 2 | 第1-2页 |
| 1-2 | 法定代表人身份证明 | 1 | 第3页 |
| 2-1 | 技术开发合同 | 15 | 第4-18页 |
```

---

## 输出成果

1. **证据册文件夹**：按分组+编号命名的PDF文件
2. **更新后的证据目录**：包含页码范围列，md 输出后询问是否转 Word（见 profile.md「文书 Word 排版规范」）
3. **整理报告**：总份数、总页数、格式转换记录、异常项

---

## 安全规则

1. **备份在前** —— 所有文件操作前必须先完整备份原始文件
2. **用户确认** —— 匹配关系未经确认不执行文件操作
3. **不删除原文件** —— 所有操作基于复制，原始文件保留在备份目录
4. **异常中断** —— 任何步骤失败时停止后续操作并报告，不做半成品输出
5. **幂等性** —— 重复调用时检测已有结果，询问覆盖/增量/取消

---

## 技术依赖

| 工具 | 用途 | 检查方式 |
|------|------|----------|
| Python 3 | 脚本环境 | `python3 --version` |
| pypdf | PDF页数读取 | `pip install pypdf` |
| img2pdf | 图片转PDF | `pip install img2pdf` |
| LibreOffice | Word转PDF | `soffice --version` |

运行前检查依赖，缺失则提示用户安装或使用备选方案。

---

## 下一步建议

- 证据册装配完成 → 提交法院 / 发送律师
- 需补充证据 → `/evidence-index`（更新分组后重新整理）
- 准备开庭 → `/trial-outline`（引用证据册页码）

---

## 案件管家联动（强制）

> 本 skill 完成产出后，**必须**在输出文档之前调用「案件管家」的台账回写协议，六步流程 / 降级 / 不阻塞规则统一由套件 Hub 维护：
>
> **协议单一权威源**：`skills/case-manager/references/downstream-writeback-protocol.md`
> **入口条款**：`/case-manager` SKILL.md §0.7

**本 skill 的产出**：证据册 PDF / Zip

**差异化字段回写**：下一步动作 → 递交法院
