中国软著登记材料生成器——源码进去,页数一页不差的 PDF 出来
更新于 2026-09-26 · 同作者:OpenWorkBuddy
← 返回汇总一条命令出齐程序鉴别材料 + 说明书 + 表单清单
开源的中国软著登记材料生成器:从源码树生成页数精确的源程序 PDF(前 30 页 + 后 30 页)、说明书 PDF 和在线表单填写清单(逐字段算字数)。不装 Word、不拼页码、不怕页数漂移。纯 Node 实现,零 npm 依赖,只要一个 Chrome 做无头渲染;自带 SKILL.md,可当 Claude Code / OpenWorkBuddy 的技能用。适合:需要申请软件著作权的开发者和小团队,以及任何被「页数不对、整份重做」折磨过的人。
2026-09-22 创建 · 09-23 最近 push · 结构:bin/ruanzhu.mjs + lib 六模块(collect / config / markdown / paginate / render / verify)· 数据采集于 2026-09-26
| 手工 Word 排版 | ruanzhu-kit | |
|---|---|---|
| 页数 | 随字体 / 驱动漂移 | 渲染前算死,出完回读 PDF 核验 |
| 超长代码行 | 折行撑破页面 | 按折行后行高单位计算 |
| 前 30 + 后 30 | 手动截取插页 | 自动截取 + 自动写说明页 |
| 表单字数 | 自己数 | 逐字段算,带校验 |
| 依赖 | Word / WPS | Node 18+ 和一个 Chrome |
核心实现在 lib/paginate.mjs,85 行,可以单独拿走用。
count 这一步别跳:node_modules 之外的脏东西(构建产物、评测数据、运行期生成文件)基本都在清单前十行现形——行数虚高是驳回的高频原因。
pdfinfo;没装就退回解析 PDF 页树(latin1 读 /Type /Pages /Count),保证任何机器都能自检pdftotext -layout 按分页符切开,肉眼确认封面、说明页、末页没串位$ ruanzhu source 已生成 ruanzhu/out/①程序鉴别材料_…_示例项目.pdf 核验 ✓ 页数 实际 62 页,期望 62 页 ✓ 封面 示例项目管理系统V1.0源程序… ✓ 说明页在第 32 页 本软件源程序共103145行… ✓ 末页非空 region.setCenter(cp); } } }
17 项自测里最后两项会真的出一份 PDF 再回读页数——测试不为覆盖率,为的是「页数说一不二」这条命根子。
| 命令 | 作用 |
|---|---|
init | 生成配置 + 说明书骨架(11 章固定结构) |
count | 只统计不出文件,核对文件清单用 |
source | 源程序 PDF,回读核验页数 |
manual | 说明书.md → 文档鉴别材料 PDF |
form | 表单填写清单,逐项算字数 |
all | 三样一起出 + 自检清单 |
| 产物 | 传到哪 |
|---|---|
①程序鉴别材料_源程序前30页后30页_*.pdf | 「程序鉴别材料」栏 |
②文档鉴别材料_说明书_*.pdf | 「文档鉴别材料」栏 |
表单填写清单.md | 在线表单逐字段复制,带字数校验 |
*.doc(--doc) | 可编辑留存件,改字用 |
选项:--lines-per-page 排密一点(默认 50,上限 66)· --out 换输出目录 · 营业执照、权属证明等「其他证明文件」需自备
| 坑 | 后果 | 工具怎么挡 |
|---|---|---|
| 用 Word 排版导 PDF | 页数漂移,整份重做 | 渲染前算死 + 回读核验 |
| 统计混入依赖 / 构建产物 | 行数虚高,驳回 | count 把可疑文件列最前 |
| 著作权人写简称 | 驳回——必须与营业执照一字不差 | 表单清单逐字段提示 |
| 「开发操作系统」填成运行平台 | 逻辑矛盾(前者是你写代码用的系统) | docs/form-fields.md 逐项措辞 |
| 「主要功能」少于 500 字 | 驳回 | form 替你数字数 |
| 公司申请缺权属证明 | 驳回 | 提示备《职务开发声明》/《转让合同》 |
# 当 Claude Code 技能装 git clone https://github.com/CatCatUncle/ruanzhu-kit.git \ ~/.claude/skills/ruanzhu-kit # 或塞进 OpenWorkBuddy 的技能目录 git clone …/ruanzhu-kit.git/skills/ruanzhu-kit # 然后只说人话 「帮我准备这个项目的软著材料」
本地 AI 办公助理,ruanzhu-kit 是它的技能之一;技能装前过 skill-guard 静态体检
agent 技能 / MCP 连接器静态安检,37 条规则六族,ruanzhu-kit 这类技能的「第二把尺子」
猫叔,前大厂 Agent 工程师,常驻深圳;FDE / Agent 落地合作 contact@aijentra.com
贴一段你的源码,实时看它怎么按「折行后的行高单位」切页、怎么按登记办法取前 30 后 30——中文注释占 2 个字符宽、空行也占 1 单位、压缩产物会被点名。逻辑 1:1 移植自 paginate.mjs,对拍过 10 万行案例。
渲染与回读核验不在演示范围 · 零网络依赖 · 单文件
评分 7.5:把「软著材料」这件高频、琐碎、错了就整份重做的事,用 85 行分页算法 + 零依赖 CLI 一次做对——问题选得准,刀法极简,MIT 无商用障碍,README 的对比表和避坑清单显出对审查流程的真实理解。作为 Claude Skill 与 OpenWorkBuddy 生态互哺(办公 agent 的真实交付场景 + 技能市场的第一个刚需样本)。扣分:受众窄(仅中国软著)、4 天新星无 release、单人维护、表单规则需随版权中心政策持续跟进。对要申软著的开发者,这是当下最省事的正确答案;作为项目,它的价值在「让 OpenWorkBuddy 的技能生态有了一个可复制的小而美样板」。