中小学生手抄报生成
用途
把「主题 + 年级 + 纸张」三件事,变成一张可以直接打印、也能打印后手绘补白的手抄报。
产出是一份自包含的 HTML 文件:刊头、分栏正文、插图位、标语与知识卡、落款齐全,浏览器打印即得 PDF。
为什么是 HTML 而不是 AI 出图:AI 整图生成会把中文标题和正文画成错字、糊字,交不了作业。
本技能用 HTML/CSS 保证文字 100% 正确可读,插图和花边留虚线框,交给学生手绘。
流程
第一步:确认参数(缺什么按默认补,不要反复追问)
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| 主题 | 是 | — | 主题库 14 个,见下;库里没有的走自定义 |
| 年级段 | 是 | 3-4 |
决定正文字数档,务必问清 |
| 纸张 | 否 | A4 |
学校常要求 A3 或 8 开(用 8K) |
| 栏数 | 否 | 2 |
4 个栏目配 2 栏(2×2)最稳 |
| 学校/班级/姓名 | 否 | 留空 | 留空则由学生手填 |
用户一句话说不全时(例如只说"做个防溺水手抄报"),按默认生成一版并说明可调参数,不要卡在追问上。
第二步:选文案
内置 14 个主题,每主题 4 个栏目 × 4 个年级档 × 3 条标语 × 2 张知识卡,均为原创撰写:
| id | 主题 | id | 主题 |
|---|---|---|---|
| anquan | 安全教育 | dushu | 读书节 |
| funishui | 防溺水 | guoqing | 国庆节 |
| jiaotong | 交通安全 | chunjie | 春节 |
| xiaofang | 消防安全 | leifeng | 学雷锋 |
| laji | 垃圾分类 | xinli | 心理健康 |
| ditan | 低碳环保 | keji | 科学探秘/航天 |
| wangluo | 网络安全 | laodong | 劳动教育 |
查看主题与文案:
python3 scripts/list_themes.py # 列出全部主题
python3 scripts/list_themes.py --theme funishui --grade 5-6 # 某主题某年级档全文
python3 scripts/list_themes.py --grep 春节 # 关键词搜索
主题不在库里时(如"二十四节气""运动会""保护视力"):按 references/writing-guide.md 的规范现写 4 个栏目,
存成 JSON 后用 --content 传入,格式见该文档第四节。
第三步:生成
python3 scripts/build_poster.py \
--theme funishui --grade 5-6 --size A4 --cols 2 \
--school 咸阳市实验小学 --class 五年级二班 --name 李小明 \
--out ~/Desktop/防溺水手抄报.html
常用开关:--title 换刊头、--style 换配色、--sections 只留部分栏目、
--illust off 去掉插图框、--content 自定义文案。
脚本按版面容量自动计算正文字号,文字过多时会提示换纸或加栏。
第四步:交付
生成后打开 HTML 预览,并附上打印要点:
浏览器打开 → Ctrl/Cmd+P → 纸张选对应尺寸 → 边距「无」→ 勾选「背景图形」→ 另存为 PDF。
不勾选「背景图形」,边框、色块、刊头飘带会全部丢失。
资源
scripts/build_poster.py— 生成手抄报 HTML(全部参数入口)scripts/list_themes.py— 浏览与导出主题文案references/themes_part1.json、themes_part2.json— 主题文案库数据references/layout-guide.md— 版式、纸张、配色、打印设置与溢出排查references/writing-guide.md— 分年级字数档、写法要求、自定义文案 JSON 格式assets/template.html— 页面模板(打印 CSS、18 个装饰图形、占位符)
硬性要求
- 事实必须可核查。 法规年龄、报警电话、日期、科学数据不确定就删掉,绝不编造。
- 年级档不能错。 1-2 年级单栏 40–70 字;把初中档塞给二年级会完全没法抄写。
- 文案原创改写。 参考素材后重新组织语言,禁止整段照搬搜索结果。
- 脚本路径相对自身定位,整包可拷贝到任意机器使用,不要写入本机绝对路径。