软著申请材料生成
依赖
确保已安装:pip install reportlab pygments(可选:pip install pymupdf 用于检查PDF页数)
工作流程
阶段一:收集基本信息
通过对话逐步收集以下信息。如果用户有代码仓库,先探索仓库自动推断可填字段,再确认。
必填字段:
- 软件全称 — 简短明确,针对性强,所有材料中保持一致
- 软件简称 — 无则留空,不填"无"
- 版本号 — 格式
V数字或数字,如 V1.0 - 软件分类 — 应用软件 / 嵌入式软件 / 中间件 / 操作系统
- 开发的硬件环境 — ≤50字
- 运行的硬件环境 — ≤50字
- 开发该软件的操作系统 — ≤50字
- 软件开发环境/开发工具 — ≤50字
- 该软件的运行平台/操作系统 — ≤50字
- 软件运行支撑环境/支持软件 — ≤50字
- 编程语言 — 可多选(≤10项),预设列表见 references/fields.md
- 源程序量 — 整数行数
- 开发目的 — 8-50字
- 面向领域/行业 — 4-50字
- 软件的主要功能 — 110-200字(含标点)
- 软件的技术特点:
- 技术标签(≤3项):APP/游戏/软件/教育软件/金融软件/医疗软件/地理信息软件/云计算软件/信息安全软件/大数据软件/人工智能软件/VR软件/5G软件/小程序/物联网软件/智慧城市软件
- 技术特点描述(必填,100字以内):除选择技术标签外,还必须填写一段技术特点的文字描述
- 著作权人名称 — 用于文档中的权利人署名
- 联系地址 — 真实姓名、收件单位(选填)、国家、省/市/区、详细地址、邮编、手机号
字段详细说明和示例见 references/fields.md。
阶段二:信息确认
收集完成后,以表格形式输出所有字段的填写内容供用户确认:
| 字段 | 内容 |
|------|------|
| 软件全称 | xxx |
| ... | ... |
用户确认无误后,将全部信息保存为 software_info.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:
python scripts/generate_source_pdf.py <源代码目录> --name "软件全称" --version "V1.0" -o 程序鉴别材料.pdf
规则:
- 连续前30页 + 连续后30页(不足60页提交全部)
- 每页≥50行代码
- 页眉含软件名称和版本号
- 代码语法高亮(Pygments)
- 自动查找系统中文字体,确保中文不乱码
- 支持
--ext参数添加额外扩展名
阶段四:生成文档鉴别材料
方式一(推荐):从配置自动生成用户手册
python scripts/generate_doc_pdf.py --config software_info.json -o 文档鉴别材料.pdf
自动生成完整的用户手册,包含:概述、系统环境、安装部署、系统架构、功能说明、操作指南、系统管理、接口说明、安全说明、常见问题、附录等章节。
方式二:从已有文档转换
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