包含:系统架构设计文档、用户操作手册、测试文档三套完整交付物,可直接用于项目开发、验收。
第一部分:系统架构设计文档
1. 文档概述
1.1 项目名称
田字格字帖在线生成网站
1.2 项目目标
一款浏览器在线字帖工具,用户输入汉字、选择参数,实时生成可打印高清田字格字帖,支持导出图片 / PDF,无需安装客户端。
1.3 适用人群
小学生家长、教师、练字爱好者、培训机构。
1.4 设计原则
- 开箱即用:纯前端优先,免登录
- 高清矢量输出,打印无锯齿
- 响应式:电脑、平板均可操作
- 可扩展:后续增加米字格、回宫格、拼音格、笔画字帖功能
2. 功能需求清单
2.1 核心功能
- 文本输入区:输入需要练字的汉字,支持多行
- 字帖样式选择:田字格、方格、米字格(预留)
- 参数配置
- 格子大小:边长 30px‑120px
- 字体:楷体、宋体、硬笔书法字体
- 字颜色、田字格线条颜色
- 行列数量、页边距
- 是否显示虚线十字辅助线
- 留白空白格(只打印田字格不打印文字)
- 实时预览:修改参数立刻刷新字帖预览
- 导出功能:下载 PNG 图片、下载 PDF(A4 打印)
- 页面重置、清空文字
- 打印按钮:调用浏览器打印
2.2 非功能需求
- 性能:预览渲染≤500ms
- 兼容性:Chrome、Edge、Safari、360 浏览器;移动端 H5 适配
- 离线可用:核心渲染逻辑前端完成,无需后端服务也能运行
- 高清输出:PDF 矢量,图片 300DPI 适合打印
- 安全:不上传用户输入文字到服务器,保护隐私
3. 系统总体架构
架构选型:前后端分离、优先纯前端无服务架构(SPA 单页应用) 后期如需保存字帖模板、用户作品库可新增后端。
3.1 架构分层图
┌─────────────────────────┐
│ 用户层 (浏览器) │
└───────────┬─────────────┘
│
┌───────────▼─────────────┐
│ UI展示层(Vue3/React) │
│ 输入表单、预览面板、导出按钮
└───────────┬─────────────┘
│
┌───────────▼─────────────┐
│ 字帖渲染引擎层 │
│ Canvas / SVG 绘制田字格、文字
└───────────┬─────────────┘
│
┌───────────▼─────────────┐
│ 工具库层 │
│ html2canvas、js‑PDF、字体加载器
└───────────┬─────────────┘
│
┌───────────▼─────────────┐
│ 静态资源层(静态服务器) │
│ css、字体文件、图片
└─────────────────────────┘
3.2 技术栈选型
前端(推荐)
- 框架:Vue3 + Vite(上手快,适合中小工具站)
- UI 组件库:Element‑Plus
- 渲染方案二选一:
- SVG 绘制(优先推荐矢量高清,打印无损)
- Canvas 绘制(位图,导出图片方便)
- PDF 导出库:
jspdf - 图片导出:原生 canvas.toBlob
- 字体资源:web 楷体字体文件(woff2),系统字体兜底
后端(可选扩展,第一版可不用)
- Node.js + Express
- MySQL:字帖模板保存、用户收藏
V1.0 版本建议纯前端实现,0 后端部署成本,直接放 Nginx、阿里云 OSS、GitHub Pages 即可上线
3.3 模块划分
- 参数配置模块
- 文字输入组件
- 格子样式、尺寸、行列配置表单
- 字帖渲染引擎模块【核心】
- 绘制田字格边框
- 绘制十字虚线辅助线
- 文字布局排版算法:文字居中放入每个田字格
- 分页计算:文字过多自动分成多页字帖
- 预览模块
- 字帖实时预览容器
- 分页切换预览
- 导出打印模块
- 导出 PNG
- 导出 A4 PDF
- 浏览器打印接口
- 系统公共模块
- 参数重置、表单校验
- 响应式适配
3.4 数据库设计(仅后期扩展用户 / 模板功能时使用,V1 无数据库)
字帖模板表
表格
| 字段 | 类型 | 说明 |
|---|---|---|
| id | int | 主键 |
| name | varchar | 模板名称 |
| content | text | 练字文字 |
| config_json | json | 字帖参数配置 |
| create_time | datetime | 创建时间 |
3.5 部署架构
纯前端部署方案
- 服务器:Nginx / 云静态托管 / Github Pages / Vercel
- 资源:所有静态资源 html,js,css,woff2 字体
- 域名:https://xxx‑tizie.com
- 无后端接口,无数据库,零运维
4. 核心业务流程图
用户操作流程: 打开网页 → 输入汉字 → 设置字帖参数 → 实时预览字帖效果 → 预览确认 → 导出PDF/图片 或直接打印
渲染内部流程: 获取表单参数 → 分页计算文字数量、行列 → SVG/Canvas循环绘制田字格 → 每个格子居中渲染汉字 → 生成预览画布
5. 接口设计(扩展后端版,V1 无接口)
V1 纯前端不需要接口;V2 增加保存字帖功能时新增。
表格
| 接口 | 方法 | 参数 | 返回值 |
|---|---|---|---|
| /api/saveTemplate | POST | content、configJson | 模板 ID |
| /api/getTemplate | GET | templateId | 字帖配置数据 |
6. 风险与解决方案
表格
| 风险 | 方案 |
|---|---|
| web 字体加载慢,文字字体错乱 | 字体预加载,设置系统楷体兜底方案 |
| 导出 PDF 文字模糊 | 使用 SVG 矢量生成 PDF,避免位图转 PDF |
| 文字排版溢出格子 | 增加文字尺寸校验,文字自动缩放适配田字格 |
7. 迭代规划
- V1.0:基础田字格字帖、预览、导出图片 PDF、打印(纯前端)
- V1.1:新增米字格、回宫格、拼音田字格
- V1.2:字帖模板库、常用生字词一键导入
- V2.0:后端上线,用户保存字帖作品
第二部分:用户操作手册
田字格字帖网站 用户操作手册
1. 产品简介
本网站是在线免费田字格练字生成工具,无需下载软件,浏览器即可制作、预览、打印、下载汉字田字格字帖。
2. 运行环境
推荐浏览器:Chrome、Edge、360 极速浏览器、Safari 设备:电脑(最佳)、平板;手机可预览,不建议排版打印
3. 首页界面说明
首页分为三大区域:
- 左侧:参数设置区:文字输入、字帖配置选项
- 右侧:字帖实时预览区:生成后的字帖效果
- 底部操作按钮区:导出图片、导出 PDF、打印、重置
4. 详细操作步骤
步骤 1:输入练字文字
在【练字文字输入框】中,输入你需要练习的汉字。
示例:一二三四五六七八九十 换行文字会自动分行排版。
步骤 2:字帖参数设置
- 格子类型:选择【田字格】
- 格子边长:拖动滑块调整格子大小(打印 A4 推荐 60‑80px)
- 字体:选择楷体(硬笔练字推荐)
- 文字颜色:黑色
- 田字格线条颜色:浅灰色
- 设置每页行数、每页列数:例如 5 行 8 列
- 是否开启十字虚线:勾选(练字辅助线)
- 空白格数量:设置末尾预留空白田字格(给孩子仿写)
步骤 3:实时预览字帖
设置完成后右侧预览区会自动刷新字帖效果。 如果文字较多生成多页字帖,点击分页按钮切换预览第 1 页、第 2 页。 检查文字是否居中、格子排版是否满意,不满意返回修改参数。
步骤 4:输出字帖(三选一)
选项 A:直接打印字帖
点击【打印】按钮 → 浏览器弹出打印预览窗口,纸张选择 A4,去掉页眉页脚,点击打印即可。
选项 B:下载 PDF 文档(推荐打印首选)
点击【导出 PDF (A4)】→浏览器下载 pdf 文件,下载完成后打开 PDF 打印,排版最稳定高清。
选项 C:下载图片 PNG
点击【导出 PNG 图片】,生成字帖图片保存到本地,可以发给微信。
步骤 5:重置清空
点击【重置】按钮,清空文字,所有参数恢复默认值,新建字帖。
5. 打印优化建议
- 纸张规格:A4
- 打印设置:关闭 “缩放适应边框”,100% 原始尺寸打印
- 关闭页眉、页脚,去掉网址水印
6. 常见问题 FAQ
- Q:预览文字字体不是楷体?
A:网页字体加载延迟,等待几秒刷新页面。电脑系统缺少楷体字体会自动切换兜底字体。
- Q:导出 PDF 格子模糊?
A:优先使用 SVG 渲染版本,不要导出图片再打印。
- Q:文字超出田字格?
A:调小格子内文字大小或者增大格子边长。
第三部分:测试文档
田字格字帖网站 测试文档
1. 测试概述
1.1 测试目的
验证田字格字帖网站所有功能正常,生成字帖排版正确,导出、打印功能可用,页面兼容主流浏览器。
1.2 测试环境
表格
| 环境 | 配置 |
|---|---|
| 浏览器 | Chrome、Edge、Safari、360 极速浏览器 |
| 设备 | Windows 电脑、Mac 电脑、安卓平板、iPad |
1.3 测试范围
功能测试、UI 预览测试、导出打印测试、兼容性测试、边界测试
2. 测试用例清单
2.1 功能测试用例
表格
| 编号 | 测试项 | 测试步骤 | 预期结果 | 测试结果(通过 / 失败) | 备注 |
|---|---|---|---|---|---|
| F01 | 文字输入 | 输入汉字 “山水日月” | 预览区正确生成对应文字字帖 | ||
| F02 | 多行文字输入 | 输入文字,回车换行 | 文字自动分行,排版正确 | ||
| F03 | 空白字符输入 | 输入空格 | 空格位置生成空白田字格 | ||
| F04 | 格子大小调整 | 拖动格子尺寸滑块,由小到大 | 预览田字格同步放大缩小 | ||
| F05 | 行列参数修改 | 设置行数 5,列数 6 | 每页生成 5 行 ×6 列田字格 | ||
| F06 | 十字辅助线开关 | 取消勾选十字虚线 | 田字格只有外框,无内部虚线 | ||
| F07 | 文字颜色修改 | 文字颜色改为红色 | 字帖内汉字显示红色 | ||
| F08 | 线条颜色修改 | 田字格线条改为蓝色 | 格子边框、虚线变为蓝色 | ||
| F09 | 实时预览刷新 | 修改任意参数 | 预览区自动立刻刷新字帖,无需手动刷新页面 | ||
| F10 | 多页分页测试 | 输入超过一页容量的汉字 | 自动分页生成多页字帖,分页切换正常 | ||
| F11 | 重置按钮 | 点击重置按钮 | 文字清空,所有参数恢复默认配置 | ||
| F12 | 导出 PNG 图片 | 点击导出 PNG | 成功下载字帖图片,图片内容和预览一致 | ||
| F13 | 导出 PDF (A4) | 点击导出 PDF | 下载 PDF 文件;打开 PDF 字帖排版与预览一致,矢量高清 | ||
| F14 | 打印功能 | 点击打印按钮 | 唤起浏览器打印预览窗口,字帖预览正确 |
2.2 边界条件测试用例
表格
| 编号 | 测试项 | 测试步骤 | 预期结果 | 结果 |
|---|---|---|---|---|
| B01 | 输入超长文本 | 一次性输入 200 个汉字 | 自动分页,无页面崩溃、文字无溢出 | |
| B02 | 格子最小尺寸 | 格子边长设置最小值 30px | 格子正常绘制,无报错 | |
| B03 | 格子最大尺寸 | 格子边长设置最大值 120px | A4 页面内格子不会超出打印边界 | |
| B04 | 空文字导出 | 不输入任何文字直接导出 PDF | 生成空白田字格字帖 |
2.3 兼容性测试
表格
| 编号 | 测试环境 | 测试内容 | 预期结果 | 结果 |
|---|---|---|---|---|
| C01 | Chrome 浏览器 | 完整走一遍生成、导出 PDF 流程 | 全部功能正常 | |
| C02 | Edge 浏览器 | 完整流程测试 | 全部功能正常 | |
| C03 | Safari 浏览器 | 导出 PDF、图片下载 | 下载功能可用 | |
| C04 | iPad 平板访问网页 | 页面布局自适应,预览正常 |
2.4 UI 视觉测试
- 田字格:外框正方形,十字虚线居中,线条无偏移
- 文字:每个汉字严格居中在田字格中心,不压线、不溢出格子
- 分页:每页字帖边距统一,上下左右留白均匀
2.5 性能测试
表格
| 测试项 | 标准 | 结果 |
|---|---|---|
| 预览渲染耗时 | 修改参数后字帖刷新≤500ms | |
| 200 字大字帖导出 PDF | 导出时间 ≤ 3 秒,浏览器无卡顿 |
3. 回归测试清单
每次版本更新后必测:
- 基础字帖生成预览
- PDF 导出打印
- 图片导出下载
- 分页功能
4. 缺陷判定标准
- 严重 bug:导出文件空白、页面崩溃、文字排版错乱溢出格子 → 必须修复才可上线
- 一般 bug:字体加载延迟、细微样式偏差 → 上线前修复
- 优化建议:UI 美化、增加字体选项 → 后续迭代优化
5. 测试交付结果
测试完成输出测试报告,包含:测试通过率、bug 清单、上线放行结论。