小学生字帖生成器|田字格·笔顺·描红·PDF
面向小学生家长与教师的练字帖生成工具。输入生字列表,用内置脚本 scripts/make_copybook.py 确定性生成可直接打印的 PDF 字帖。
每个字默认占一块,从上到下三部分:
yǒng ← 拼音
[丶][𠃌][冫][永] ← 笔顺分解(每格累加一笔,新笔标红)
[永] 永 永 □ □ □ □ □ ← 练习行(示范 + 描红 + 临写空格)
笔顺是默认开启的,这是本工具与普通字帖模板的核心区别:它不靠 AI「描述」笔顺,也不靠联网查,而是用内置的笔画轮廓数据把每一笔真实画出来——第 1 格只有第一笔,第 2 格是前两笔,依此类推,新加的那一笔用红色标出。哪一笔先写、从哪里起笔,一目了然。
适用场景
用户出现以下任一意图时使用本技能:
- 给孩子生成某个年级 / 课本生字的练字帖
- 输入一段生字列表,要田字格 / 米字格字帖 PDF
- 要带笔顺的字帖(教孩子正确书写顺序)
- 要描红字帖(红 / 灰底字供描写)
- 想要带拼音的识字练习纸
- 教师为全班生成同一套生字的抄写本
触发词:字帖、田字格、米字格、笔顺、笔画顺序、笔顺字帖、描红、练字帖、生字表、抄写本、拼音字帖、生成字帖、打印字帖、小学练字。
不适用场景
- 英文 / 数字字帖(本脚本只排中文汉字格)
- 笔顺动画 / 逐笔演示视频:本技能出的是静态 PDF(每字的笔顺分解成若干小格),不做动画
- 书法字帖(软笔 / 碑帖临摹是另一形态)
- 生成图片格式(只出 PDF,PDF 打印质量优于图片)
依赖与字体
脚本依赖 reportlab(PDF 生成)与 pypinyin(拼音标注,可选)。缺依赖时先安装:
pip install reportlab pypinyin
笔顺功能不需要任何额外依赖(数据已内置),也不需要联网。
中文字体按优先级自动查找:楷体(simkai)→ 仿宋(simfang)→ 黑体(simhei)→ 微软雅黑(msyh)。找不到时可用 --font 指定本地 ttf/ttc 路径。Linux 无系统字体时提示用户先安装任一开源中文字体(如 Noto Sans CJK)。
> 注意:笔顺分解行用的是内置笔画数据,与所选字体无关——即使系统没装楷体,笔顺依然正确。
工作流程
字帖进度:
- [ ] 1. 收集生字列表(用户提供 / 按年级取参考表)
- [ ] 2. 确认选项:格型、描红数量、拼音、笔顺开关、标题
- [ ] 3. 运行 scripts/make_copybook.py 生成 PDF
- [ ] 4. 打开 PDF 目检(笔顺是否完整、格子对齐、拼音正确、无缺字)
- [ ] 5. 交付 PDF + 打印建议
第 1 步 收字:用户给字直接用;用户说「二年级生字」这类模糊需求时,从 references/copybook-spec.md 的高频字参考表选取,并告知家长以课本生字表为准(各地教材版本不同,参考表不能替代课本)。
第 2 步 确认选项(都有默认值,可全部跳过):格型(默认田字格)、每行格数(默认 8)、描红字数(默认 3)、笔顺(默认开)、拼音(默认开)、标题(默认「生字练习 + 日期」)。
第 3 步 生成:
python scripts/make_copybook.py --chars "永大小上下" --out 字帖.pdf
# 常用变体
python scripts/make_copybook.py --chars "永大小" --grid mi --trace 4 # 米字格、4 个描红
python scripts/make_copybook.py --chars "永大小" --no-stroke-order # 不要笔顺行
python scripts/make_copybook.py --file 生字表.txt --title "三(2)班语文生字"
第 4 步 目检:打开 PDF 确认——笔顺分解行的最后一格应为完整字形(缺则说明该字数据未收录)、笔顺逐格递增无跳笔、示范字清晰居中、描红字为浅灰、拼音在格上方、最后一页未截断单个字的行。
第 5 步 交付:PDF 交给用户,附打印建议(A4 纵向、实际大小 100% 缩放、80g 以上纸铅笔书写;低年级建议 --grid-size 调到 22–24mm,笔顺小格随之更清晰)。
交付物
生字字帖.pdf(文件名用「内容+字帖+日期」,如「二年级上生字字帖-2026-09-13.pdf」)。默认输出到用户指定目录;未指定时先询问。如用户还要改(换字 / 调格型 / 关笔顺),改参数重新生成,不手改 PDF。
使用示例
示例一:家长给一课生字
输入:「这课的生字是 永远 的 永、上下 的 上下,再带上 大小 人口,做个田字格字帖。」
动作:解析出「永上下大小人口」→ 默认参数生成(田字格 8 格 / 1 示范 3 描红 / 带拼音 / 带笔顺)→ 目检笔顺行 → 交付。
输出:PDF + 打印建议。回复中可点出「永」的笔顺分解有 5 格(点、横折钩、横撇、撇、捺)。
示例二:按年级要字帖
输入:「给二年级的孩子出一份生字练习。」
动作:说明以课本生字表为准 → 从参考表取二年级高频字 20 个 → 生成(默认带笔顺)→ 交付并提醒核对课本。
输出:PDF + 生字清单(方便家长替换成课本实际生字)。
示例三:教师全班用(不要笔顺)
输入:「这学期易错字 15 个,米字格,描红 4 个,不用笔顺,不要拼音。」
动作:--grid mi --trace 4 --no-stroke-order --no-pinyin → 生成 → 交付。
输出:PDF(建议打印店批量复印)。关闭笔顺后每字只占一行,一页能放下更多字。
审核口径
- 生成后必须目检 PDF:笔顺最后一行是否为完整字形(这是判断数据是否命中的最快方法)、拼音是否与字对应、是否有生僻字缺字形(字体不含该字时 PDF 会显示空白或方块,需换字体)。
- 笔顺数据覆盖 GB2312 一级汉字 3755 个;超范围的字自动省略笔顺行并在运行日志提示,交付时要主动告知用户哪些字没有笔顺,不要默默跳过。
- 多音字(如「长、行、重」)拼音按用户给的词定;无上下文时用最常见读音并在回复中提示。
- 参考字表只是通用高频字,各年级实际生字以用户课本为准,交付时明确说明。
- 脚本报字体错误时,先查系统字体再引导
--font指定,不要静默失败。
限制与注意事项
- 生成结果依赖系统字体,不同机器字形略有差异,属正常;但笔顺分解不受字体影响(用内置数据绘制)。
- 笔顺数据覆盖常用字 3755 个,生僻字无笔顺行;确需扩充可替换
data/strokes.json。 - 笔顺数据来源 hanzi-writer-data 2.0.1(derived from Make Me a Hanzi),笔画轮廓源自 Arphic 字体,遵循 Arphic Public License——分发本技能时须保留
data/LICENSE-ARPHIC.txt。 - 拼音由 pypinyin 自动生成,多音字可能需人工校对。
- PDF 是练习工具,写字姿势与运笔仍需家长 / 教师现场指导。
- 批量生成超过 200 字时分多份 PDF(单份页数过多不利于打印管理);含笔顺时每页约 6 个字,页数约为无笔顺时的两倍。
格型规格、版式、笔顺数据说明、各年级高频字参考表与打印建议详见 字帖规范。