【生活育儿赛道】字帖生成 · Trae创意大赛初赛 Demo

【学习工作赛道】字帖生成器 — 纯前端离线汉字书法练习工具

A Type, A Trace — 一键生成带拼音、组词、笔画分解的描红字帖,支持矢量 PDF 输出。


1. Demo 简介

是什么

字帖生成器 是一款纯前端单页应用(HTML5 + CSS3 + Vanilla JS),双击 HTML 文件即可在浏览器中运行。无需服务器、无需安装、无需联网。输入汉字后自动生成带拼音标注、组词提示、笔画分解的描红字帖,支持通过浏览器原生打印输出矢量 PDF。

面向谁

  • 中小学语文教师 — 快速生成课堂练习字帖,自定义练习内容
  • 家长 — 为孩子定制课后练字纸,随时打印
  • 书法爱好者 — 自由切换 9 款书法字体,个性化练习
  • 任何想写好汉字的人 — 正如作者所说:“自从用了电脑,打字技术增长,但字却越来越丑”

核心功能

功能 说明
智能描红字帖生成 输入汉字自动生成田字格描红字帖,支持拼音标注(含声调)
组词辅助 内置 4000+ 词库,自动为每个汉字提供组词参考
笔画分解 基于 Hanzi Writer 输出 SVG 笔画分解,辅助正确书写
矢量 PDF 输出 两种方式:浏览器打印另存为 PDF + Puppeteer 一键矢量 PDF
9 款书法字体 内置姜浩硬笔楷书、华文楷体、方正仿宋等,支持上传自定义字体
极光毛玻璃 UI 日间/夜间双主题,打印时自动隐藏面板


2. Demo 创作思路

灵感来源

作为一名书法练习者,我在日常练字中遇到几个痛点:市面上的字帖内容固定、无法定制;在线字帖工具依赖网络且常收费;打印出来的字帖往往是位图、模糊不清。于是想到用前端技术,做一个完全离线、自由定制、高清矢量输出的字帖工具。

想解决的问题

  1. 内容不可定制 — 传统字帖内容是固定的,无法针对性练习某个课文或诗词
  2. 依赖网络 — 在线工具需要联网,教室或家中网络不稳定时无法使用
  3. 输出质量差 — 很多工具截图生成位图,放大后模糊,不适合打印
  4. 缺少教学辅助 — 仅有字形,没有拼音、组词、笔画分解等教学信息

为什么做这个方向

  • 真实需求:汉字书写是中华文化的基础教育,教师和家长每天都需要练习纸
  • 技术可行:现代浏览器已支持 FontFace API、CSS Grid、window.print() 等关键能力
  • 差异化:市面上缺少"离线 + 矢量 + 教学辅助"三位一体的免费工具
  • 个人积累:练字过程中积累了多款字体的使用经验,了解用户真实需求

我自从用了电脑,打字技术增长,但字却越来越丑;自从练习写字之后,用小楷毛笔在 A4 复印纸上都能写出这个水平的字了:


3. Demo 体验地址

方式一:下载 ZIP 体验(推荐)

下载解压后,双击 字帖生成器.html 即可使用(推荐 Chrome / Edge 浏览器)。

:package: 字帖生成器.zip (6.9 MB)

包含主程序、JS 库、拼音字体。完整字体包请使用方式二。

方式二:一键启动矢量 PDF 工具(Windows)

下载完整版,双击 启动Puppeteer.bat,浏览器自动打开,点击紫色按钮一键生成矢量 PDF。

:package: 字帖生成器完整版.zip (2.6 MB)

完整版包含全部 9 款字体、Puppeteer 自动启动脚本、README 文档。

快速使用步骤

  1. 下载解压 ZIP 包
  2. 双击 字帖生成器.html(或运行 启动Puppeteer.bat)
  3. 输入汉字(如"春眠不觉晓"),点击"生成字帖"
  4. 点击打印按钮 → 选择"另存为 PDF" → 保存

演示视频


4. TRAE 实践过程

本项目全程使用 TRAE IDE 完成核心逻辑开发、调试与迭代优化。以下是开发关键步骤。

技术架构

技术点 方案 说明
架构 纯 HTML5 + CSS3 + Vanilla JS 单页面,零依赖运行
拼音转换 pinyin-pro(MIT) 自动标注声调
组词查询 cnchar + 4000+ 词库(MIT) 智能组词推荐
笔画渲染 Hanzi Writer(MIT) SVG 笔画分解
字体加载 FontFace API 动态注册 支持用户上传字体
PDF 导出 window.print() + Puppeteer 双轨方案
主题切换 CSS 变量 + data-theme 日间/夜间
开发工具 TRAE IDE AI 辅助编码、调试

关键开发步骤

步骤一:需求分析与技术选型

通过 TRAE 的多智能体并行任务规划能力,将字帖生成器拆解为:拼音转换模块、组词查询模块、田字格渲染模块、笔画分解模块、PDF 导出模块。TRAE 帮助分析各模块的技术方案和依赖关系。

步骤二:核心功能实现

  • 使用 TRAE 的 AI 辅助编码功能,快速实现拼音转换(pinyin-pro 集成)和组词查询(cnchar 集成)
  • 田字格使用 CSS Grid 布局动态生成,每个格子包含米字格线、描红字、拼音标注
  • 笔画分解利用 Hanzi Writer 输出 SVG,嵌入到每个字格中

步骤三:UI 设计与主题系统

  • 极光毛玻璃风格 UI,采用 CSS 变量驱动的日间/夜间双主题
  • TRAE 辅助完成复杂的 CSS 动画和渐变效果
  • 打印时自动隐藏控制面板,确保输出整洁

步骤四:PDF 矢量输出双轨方案

  • 方案一:浏览器 window.print() 另存为 PDF,全平台通用
  • 方案二:Puppeteer 无头浏览器生成矢量 PDF,文字可选可复制
  • TRAE 辅助解决了字体加载时序、keep-alive 请求合并、跨平台编码等关键问题

步骤五:离线打包与发布

  • 将所有 JS 库(pinyin-pro、cnchar、Hanzi Writer)内嵌到 HTML
  • 拼音字体 base64 内嵌,汉字字体使用 FontFace API 加载
  • 编写 Windows/Linux 一键启动脚本,实现"傻瓜化"操作

关键 Session ID

以下为 TRAE IDE 开发过程中关键任务的对话 Session ID,用于证明作品由 TRAE 开发完成。
格式为完整三段式,双击 TRAE 对话头像即可复制。

1. 独立 HTML 打包、JS 内嵌(2026-07-05 19:48)

6a49f7e8f615ceaf1589607b.6a4a44899a9540f3b14ec753.6a4a4488b75d9ac48d921ab0

2. 模板字符串修复、UI 增强、字体配置(2026-07-05 20:16)

6a49f7e8f615ceaf1589607b.6a4a4b199a9540f3b14eca1a.6a4a4b19b75d9ac48d921ab1

3. PDF 乱码修复、矢量输出、Puppeteer 脚本(2026-07-05 21:04)

6a49f7e8f615ceaf1589607b.6a4a564b9a9540f3b14ecd6a.6a4a564ab75d9ac48d921ab2

4. JSON 解析、三层防御、keep-alive 去重、编码兼容(2026-07-06 05:01)

6a49f7e8f615ceaf1589607b.6a4ac6429a9540f3b14ed689.6a4ac640b75d9ac48d921aba

开发踩坑与经验

  1. 字体加载时序:Puppeteer 生成 PDF 时,domcontentloaded 事件在字体加载前触发,导致 PDF 乱码。解决方案:改用 networkidle0 + 显式 document.fonts.check() 验证。

  2. HTTP keep-alive 请求合并:浏览器在 keep-alive 连接上重复发送请求,导致多个 JSON 请求体被合并,JSON.parse() 失败。解决方案:三层防御(Connection: close + safeJsonParse() + 请求去重)。

  3. Windows 批处理编码:.bat 文件中文注释在 cmd.exe 的 GBK 编码下被错误解析,导致命令截断。解决方案:添加 chcp 65001 切换到 UTF-8 代码页。

  4. PowerShell 安全警告:每次运行弹出安全提示。解决方案:预设 PSDefaultParameterValues 全局参数。


5. 文件结构

distribution/
├── 字帖生成器.html          # 主程序(独立 HTML,JS+拼音字体内嵌)
├── 启动Puppeteer.bat         # Windows 一键启动脚本
├── 启动Puppeteer.ps1         # PowerShell 启动脚本
├── 启动Puppeteer.sh          # Linux/macOS 启动脚本
├── puppeteer-pdf.js          # Puppeteer PDF 矢量生成脚本
├── package.json              # Node.js 依赖配置
├── README.md                 # 完整使用文档
├── CHANGELOG.md              # 更新日志
├── 参赛文档.md               # 本文档
└── fonts/                    # 字体文件夹(9 款字体)
    ├── 姜浩硬笔楷书.ttf       # 默认汉字字体
    ├── texgyreadventor-regular.otf  # 拼音字体 (base64 内嵌)
    ├── STKAITI.TTF            # 华文楷体
    └── 田英章楷书30Light.otf

6. 未来展望

  • 笔顺动画支持(基于 Hanzi Writer 扩展)
  • 批量导入生字表(Excel/CSV)
  • 更多田字格样式(米字格、回宫格、九宫格)
  • 云端字帖社区,共享优秀练习模板
  • 适配移动端触摸书写

7. 版权与字体说明

  • 本工具本体代码采用 MIT 许可证,可自由使用、修改、分发。
  • 内置字体仅为演示,版权归原权利人所有。请勿商用,如有商用需求请替换为开源/授权字体(推荐霞鹜文楷、思源系列)。
  • 本 Demo 已移除所有商业字体,只保留 TeX Gyre Adventor(GUST Font License,自由使用),其余字体需用户自行上传。
  • 项目作者不承担因字体使用产生的任何法律责任。

8. 致谢

  • TRAE IDE — 提供强大的 AI 辅助开发环境,让创意快速落地
  • 开源社区 — pinyin-pro、cnchar、Hanzi Writer 等优秀库为本项目奠定基础
  • 所有测试用户与大赛评委,你们的反馈让作品更完善

报名帖链接


一字一世界,一笔一乾坤。
愿这份小小的工具,能为汉字教学与书写传承尽一份力。

2 个赞

纯前端离线字帖生成器,这个技术选型很聪明!不依赖后端,用户体验更快更稳定。

你们把书法知识结构化(拼音、组词、笔画分解),我们把汉服知识结构化(朝代、形制、工艺、等级),都是在做"传统文化知识的数字化呈现"。

识蕴小程序基于1333张博物馆级标注构建了汉服知识图谱,用户拍照就能了解衣服背后的文化故事。你们做的字帖生成器也是类似——让用户在"写"的过程中感受汉字之美。

同为传统文化+AI赛道,感觉可以有很多联动空间 [抱拳]
我们作品:生活娱乐赛道 + 识蕴 AI汉服图鉴社交小程序

1 个赞