# Software Copyright Cn

> 中国计算机软件著作权登记申请材料生成器。用于生成软著申请所需的全部材料，包括软件基本信息表单填写、程序鉴别材料PDF（源代码语法高亮）、文档鉴别材料PDF（用户手册）。当用户提到"软著"、"软件著作权"、"著作权登记"、"版权登记"、"软著申请"、"copyright registration"时使用此技能。

- Skill: `dvcrn/software-copyright-cn` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add dvcrn/software-copyright-cn`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/software-copyright-cn/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/dvcrn/software-copyright-cn

---


# 软著申请材料生成

## 依赖

确保已安装：`pip install reportlab pygments`（可选：`pip install pymupdf` 用于检查PDF页数）

## 工作流程

### 阶段一：收集基本信息

通过对话逐步收集以下信息。如果用户有代码仓库，先探索仓库自动推断可填字段，再确认。

**必填字段：**

1. **软件全称** — 简短明确，针对性强，所有材料中保持一致
2. **软件简称** — 无则留空，不填"无"
3. **版本号** — 格式 `V数字` 或 `数字`，如 V1.0
4. **软件分类** — 应用软件 / 嵌入式软件 / 中间件 / 操作系统
5. **开发的硬件环境** — ≤50字
6. **运行的硬件环境** — ≤50字
7. **开发该软件的操作系统** — ≤50字
8. **软件开发环境/开发工具** — ≤50字
9. **该软件的运行平台/操作系统** — ≤50字
10. **软件运行支撑环境/支持软件** — ≤50字
11. **编程语言** — 可多选(≤10项)，预设列表见 [references/fields.md](references/fields.md)
12. **源程序量** — 整数行数
13. **开发目的** — 8-50字
14. **面向领域/行业** — 4-50字
15. **软件的主要功能** — 110-200字（含标点）
16. **软件的技术特点**：
    - 技术标签（≤3项）：APP/游戏/软件/教育软件/金融软件/医疗软件/地理信息软件/云计算软件/信息安全软件/大数据软件/人工智能软件/VR软件/5G软件/小程序/物联网软件/智慧城市软件
    - 技术特点描述（**必填**，100字以内）：除选择技术标签外，还必须填写一段技术特点的文字描述
17. **著作权人名称** — 用于文档中的权利人署名
18. **联系地址** — 真实姓名、收件单位（选填）、国家、省/市/区、详细地址、邮编、手机号

字段详细说明和示例见 [references/fields.md](references/fields.md)。

### 阶段二：信息确认

收集完成后，以表格形式输出所有字段的填写内容供用户确认：

```
| 字段 | 内容 |
|------|------|
| 软件全称 | xxx |
| ... | ... |
```

用户确认无误后，将全部信息保存为 `software_info.json`，格式：

```json
{
  "software_name": "软件全称",
  "software_short_name": "简称（可空）",
  "version": "V1.0",
  "category": "应用软件",
  "dev_hardware": "...",
  "run_hardware": "...",
  "dev_os": "...",
  "dev_tools": "...",
  "run_os": "...",
  "run_support": "...",
  "languages": ["Python", "JavaScript"],
  "source_lines": 52360,
  "purpose": "...",
  "domain": "...",
  "main_functions": "...",
  "tech_tags": ["软件", "大数据软件"],
  "tech_features": "...",
  "author": "著作权人名称",
  "functions_detail": {
    "模块名1": "描述1",
    "模块名2": "描述2"
  },
  "contact": {
    "name": "...",
    "company": "...",
    "country": "中国",
    "province_city_district": "...",
    "address": "...",
    "postal_code": "...",
    "phone": "..."
  }
}
```

### 阶段三：生成程序鉴别材料

运行脚本生成带语法高亮的源代码PDF：

```bash
python scripts/generate_source_pdf.py <源代码目录> --name "软件全称" --version "V1.0" -o 程序鉴别材料.pdf
```

规则：
- 连续前30页 + 连续后30页（不足60页提交全部）
- 每页≥50行代码
- 页眉含软件名称和版本号
- 代码语法高亮（Pygments）
- 自动查找系统中文字体，确保中文不乱码
- 支持 `--ext` 参数添加额外扩展名

### 阶段四：生成文档鉴别材料

**方式一（推荐）：从配置自动生成用户手册**

```bash
python scripts/generate_doc_pdf.py --config software_info.json -o 文档鉴别材料.pdf
```

自动生成完整的用户手册，包含：概述、系统环境、安装部署、系统架构、功能说明、操作指南、系统管理、接口说明、安全说明、常见问题、附录等章节。

**方式二：从已有文档转换**

```bash
python scripts/generate_doc_pdf.py --input manual.txt --name "软件名" --version "V1.0" --author "权利人" -o 文档鉴别材料.pdf
```

规则：
- 至少60页，每页≥30行
- 文档中的权利人署名、软件名称、版本号须与其他材料一致
- 页眉含软件名称和版本号
- 自动查找系统中文字体

如果生成的用户手册不足60页，向 `software_info.json` 的 `functions_detail` 添加更多功能模块描述后重新生成。

### 阶段五：材料清单确认

生成完毕后，输出最终材料清单：

```
✅ 软著申请材料清单
─────────────────────
1. 软件基本信息  → software_info.json
2. 程序鉴别材料  → 程序鉴别材料.pdf（XX页）
3. 文档鉴别材料  → 文档鉴别材料.pdf（XX页）

⚠️ 以下材料需用户自行准备：
- 计算机软件著作权登记申请表（在中国版权保护中心网站在线填写）
- 身份证明文件（企业：营业执照副本复印件；个人：身份证复印件）
- 如委托他人代理：授权委托书
```

## 注意事项

- 所有生成的PDF使用系统中文字体，自动兼容 macOS/Linux/Windows
- 程序鉴别材料中的代码使用 Pygments 实现语法高亮
- 所有材料中软件名称、版本号、著作权人保持一致
- 源代码自动跳过 node_modules、.git、__pycache__ 等非源码目录
- 文件编码自动尝试 UTF-8/GBK/GB2312/GB18030/Latin-1

