本帖最后由 BambooStrip 于 2026-10-30 14:33 编辑
各位吾友大家好
【起因】为啥做这么个软件
单位隔三差五就要交手写思想汇报,一动笔就是好几页,抄到后面手腕子直接抗议,写过的兄弟都懂。
我就寻思,这年头顶顶的,能不能让电脑替我写?
于是去网上找了一圈同类项目(最出名的应该是 handright),用是能用,但总觉得差点意思:
- 大部分只有命令行,改个参数还得改代码,对不写代码的同事来说门槛太高;
- 不能直接导入 docx,汇报明明是在 Word 里打好的,还得手动复制粘贴,格式全丢;
- 不能调对齐方式,标题要居中、正文要首行缩进、落款要靠右,它统统做不到,排出来一眼假;
- 渲染太慢,逐像素的 Python 循环,一份报告等好几分钟,想调个参数预览一下更是折磨。
干脆,自己造一个。
折腾了一段时间,就有了这个 手写模拟器(HandWriteSim)。今天发出来分享给坛友们,项目已开源,源码随便看。
【2026年10月30日 v0.5 版本核心新功能介绍】
- Word 表格自动识别导入——带表格的申请表 / 实验报告 / 试卷,导入 docx 后自动把每个单元格变成可编辑的手写区域,表格线原样保留;
- 右侧操作栏重排——参数按使用阶段分成 6 组折叠,四种「导入文件」入口统一收进「导入素材」。
一、重头戏:Word 表格自动识别(0.5 新增)
以前的痛点
带表格的申请表、实验报告、试卷,以前只能在预览图上一个一个画框:格子多、字号要对、横线不能压,费时又容易歪。
现在怎么做
- 在 Word / WPS 里把要手写的字体涂上颜色或高亮;
- 软件里「导入素材 → 导入 PDF / Word 打印底图」,选这个 .docx(装了 Word 或 LibreOffice 即可,不用先转 PDF);
- 软件自动解析表格结构:表格线原样保留在底图上,每个单元格的文字被提取为独立的手写区域,字号按原文字形校准、位置贴合原格子;
- 需要微调就点区域列表里的条目,拖动 / 缩放,或者双击改文字。
支持的细节
- 合并单元格:跨列(gridSpan)与纵向合并(vMerge)都认,纵向合并只出一个区域、续行不重复;
- 空单元格:用同行 / 同列的格子位置推算出来,可以留白也可以填字;
- 高亮 / 彩色字:自动映射到「手写角色 1 / 2」,不同颜色可配不同字体与墨色;
{{打印:张三}}:这一格保持印刷体(适合姓名、编号这类不想手写的内容);
- 灰色高亮格:整格保留印刷底图,适合表头 / 固定栏目;
- 跨页表格:一页只输出落在本页的那部分格子,不重复、不丢字;
- 表N· 前缀:区域列表里标注属于第几张表;在任一格子的区域对话框里点「此字体应用到整张表格」,一次换完整张表的字体与字号。
二、右侧操作栏重排(0.5 新增)
参数面板按使用阶段分成 6 组,全部可折叠,折叠状态会记住:
| 分组 |
内容 |
| ① 文本内容 |
对齐 / 缩进、选区角色标记条、段落状态、正文编辑器 |
| ② 文字区域(N) |
框选区域列表,带「表N·」徽标与计数 |
| ③ 笔迹角色(N) |
各角色的字体 / 颜色 / 扰动 |
| ④ 导入素材 |
Word 正文、PDF·Word 打印底图、背景图片、字体(四个入口统一收拢) |
| ⑤ 笔迹仿真与版式 |
排版参数、笔画扰动、写错字、边距、文字颜色 |
| ⑥ 预设 |
预设下拉 + 载入 / 保存 |
其他顺手的改动:
- 主题切换搬到状态栏:底部状态栏一键轮转「跟随系统 / 浅色 / 深色」,立即生效并记住;左侧「v版本 · 关于与更新」保留检查更新入口;
- 「选区角色」标记条按需显示:编辑器里选中文字才出现,没选区不占屏;
- 手写体也能单独指定字体文件了(以前只有打印体能选);
- 全部折叠时六组标题紧凑排列,不再被拉高撑满一屏。
【2026年9月4日 v0.4 版本核心新功能介绍】
1. 🌟 文档高亮自动识别与手写填空(试卷 / 表格 / 实验报告终极解法)
- 以前的痛点:遇到带格式的现成试卷或表格,手动在图上一个个画框填字,既费时费力,字号和横线又很难对齐。
- 现在的解法:
- 在 Word / WPS 里打开你的文档,用文本高亮(荧光笔背景色)涂一下需要手写的内容(题干和表格框架不动);
- 导入软件(强烈推荐在 Word 里「另存为 PDF」后再导入,排版 100% 像素级保真);
- 软件会自动识别高亮文字,并无痕擦除荧光底色(一秒恢复纯净纸面),精准在原位置生成手写选框,自动对齐原文字号、行距与位置!真正做到“原版表格原样保留,高亮部分无缝变成手写”!
- 模式自由选:导入底图时可选「识别高亮填空」或「仅作为纯底图」;导入 Word 时也支持随时切换「混合填空」或「整篇手写」。
2. 👥 多角色笔迹管理(多人笔迹、批注混排)
- 支持不同笔迹同台书写:Word 中用不同颜色高亮标记的内容,导入后会自动分流为「手写角色 1」、「手写角色 2」等。
- 独立风格配置:每个角色都可以指定独立的手写字体文件、专属墨水颜色(例如黑色中性笔填答案、蓝色圆珠笔签名、红色批注)以及独立的扰动强度。
- 更具人情味:无论是两人合写一份材料,还是同一个人中途换笔书写,都能完美还原真实场景。
3. 🖱️ 更顺手的选框与画布交互
- 预览图上的文字选框支持直接点击激活,带有 8 向缩放手柄,可随意平移和拉伸,支持反向拖拽;
- 点击空白处或按下
Esc 键即可一秒退出选框状态,恢复纯净清爽的原图预览;
- 预览降采样重构为 4096 极清阈值,预览效果与最终 300 DPI 导出图逐像素一致,所见即所得。
4. 📖 内置图文使用教程
- 软件底部状态栏与「关于」窗口直接集成了「📖 使用教程」入口;
- 涵盖快速上手、高亮填空操作步骤、错字模拟与扰动经验参数,遇到问题弹窗即看,开箱即用。
5. ⚡ 全新静默自动更新与轻量单文件包
- 彻底解决了旧版偶尔弹终端黑框、以及无梯子访问 GitHub 遭遇 403 API 限流的痛点;
- 内置 Releases 订阅源容灾机制,秒级检测最新版;更新过程纯后台无感替换并自动重启;
- Releases 页面同步提供 Windows / macOS / Linux 免解压单文件版,体积更小,双击即用。
ps: python 版本因为打包大小的原因蓝奏云 以后只提供单文件版本
下载地址不变(原楼里的 GitHub Releases),两个版本都更新了,欢迎体验,有 bug 回帖或 GitHub 提 Issue 都行 o/
【软件介绍】它能干啥
一句话:你给它文字,它还你一沓"手写"图片。
把文本(或 docx)丢进去,选一款手写字体、一张信纸背景,程序会按真实书写习惯排版,并对字距、行距、字号、笔画位置、笔画角度施加随机扰动——每个字、每一页都独一无二,不会有"复印感"。还支持模拟写错字涂改(右上方小字重写或后文正常位置重写,支持线划、双线、斜杠、打叉多种涂改方式),以及一键导出 PDF,整份"手写"文档直接打印上交。
这版新增框选录入:在预览图上拖个框,字就写在哪;再配上任意 PDF / Word 文档底图,试卷、申请表、实验报告也能直接"手写填写"。
【功能一览】
- 框选录入文字(新):在预览图上拖个框,文字就只在框里排版渲染;支持手写体 / 打印体混排,每个框可单独设字体、字号、颜色、对齐缩进、错字率,框还能拖动、缩放二次微调,也可以指定写在第几页;
- PDF / Word 文档当背景(新):任意 PDF 或 Word 文档导入即成多页底图(试卷、申请表、报告模板都行),直接在「打印稿」上框选手写填写;
- 纯背景预览(新):没输入正文也能先出预览,方便先摆好版式再逐页框选;
- docx 直接导入:Word 里的左对齐 / 居中 / 右对齐 / 首行缩进自动解析还原,导入即排版,不用重调;
- 富文本段落排版:界面上点一下就能给段落设置左对齐、居中、右对齐、首行缩进,标题居中、落款靠右都不在话下;
- 以假乱真的扰动:字水平间距、行距、字号、笔画位移、笔画旋转,每项都能单独调扰动强度,想工整一点或潦草一点随你;
- 写错字功能:模拟真实书写时的涂改痕迹——错字率可调、支持右上方小字重写或后文正常位置重写,涂改方式有线划、双线、斜杠、打叉四种,写出来的东西更有人味儿;
- 导入 PDF / Word 文档底图与背景高亮自动识别(手写填空模式):
在 Word/WPS 中用背景高亮色标记需要手写的内容,未标记题干原样保留为高清单页打印底图;导入时自动识别并无痕擦除高亮底色块,精准提取原文字号、行距、缩进与框选坐标;强烈推荐先另存为 PDF 再导入,像素级 100% 还原文档原始排版,彻底解决复杂表格、试卷格式错位问题
- 笔迹角色管理(多字体与多人笔迹混排):自动根据高亮颜色划分手写角色(如角色 1、角色 2),可为不同角色分配独立的手写字体文件、墨水颜色(黑色中性笔、蓝色圆珠笔、红笔批注)与书写扰动,实现两人共写或多重字迹风格混排
- PDF 导出:支持直接导出为 PDF(300 DPI,每页 PNG 无损嵌入),一键生成整份"手写"文档,方便打印上交;
- 实时预览:停止输入 0.3 秒自动出预览,多页自动分页、可翻页查看,所见即所得;
- 快:渲染引擎用 numpy + scipy 向量化重写,预览一页约 0.15 秒,比老式逐像素循环快几十倍,调参数不用干等;
- 预设系统:调好一套参数存成预设,下次下拉框一键切换,"红纸版""信纸版"秒换;
- 图形界面 + 命令行双模式:同事用 GUI 点点鼠标,程序员用 CLI 批量生成;
- 便携免安装:打包成单个 exe(约 49MB),下载解压双击就用,整个文件夹拷到 U 盘里都能跑;
- 跨平台:Windows / macOS / Linux 都支持。
【Rust 版也已开源】
除了 Python 版,我还用 Rust 重写了一个版本(Handwriting-sim-rs),核心逻辑与 Python 版对齐,功能上也会持续同步更新。
Rust 版的特点:
- 性能更好:编译型语言零运行时开销,大批量导出时速度优势更明显;
- 界面已换 Tauri 2(新):为了实现框选录入、PDF 文档底图这些吃交互的功能,GUI 从原来的 Slint 框架迁移到了 Tauri 2 + 系统 WebView,界面焕新(Vue 3),之前 Slint 中文输入法候选框定位不准的毛病也一并解决了;
- 单文件更小:打包后约 20MB,比 Python 版更轻量;
- 开源协议更干净:迁移 Tauri 2 后摆脱了 Slint 的 GPL 传染,Rust 版全项目 MIT 开源;
- 支持老版本 Windows 10:对还在用 Win10 老版本的机器也能跑起来,依赖的系统 WebView2 组件 Win10 / Win11 一般都自带(原本想冲 Win7,但现代 UI 框架和依赖库基本都不支持 Win7 了,日常维护老版本的成本也确实扛不住)。
两个版本的功能会持续对齐,选哪个看个人偏好就行。
【截图欣赏】
主界面:左边实时预览,右边调参数。下面这张是把一份思想汇报渲染到红条信纸上的效果,标题居中、正文首行缩进、标点不出行,整体观感自己看:
python版
rust版
【使用方法】30 秒上手
- 到 Release 下载对应系统的压缩包,解压;
- 往
fonts/ 文件夹里丢一个手写字体(因版权原因不随包附字体,推荐开源免费的「霞鹜文楷」,手写观感很好,README 里还有几个备选);
backgrounds/ 里内置了十几种信纸、格子纸、红纸背景,也可以用自己的图;
- 粘贴文本或直接「导入 docx」,点导出,完事。
- 框选玩法:点「框选文字」在预览图上拖框,框里输入的文字独立排版渲染——填表、答卷指哪写哪,配合 PDF 底图食用更佳。
首次运行会自动在 exe 旁边创建 fonts/、backgrounds/、presets/ 三个文件夹,资源往里放就行,整个文件夹搬去哪都能用。
【下载地址】
Python 版:
Rust 版(性能更好、支持老 Win10,建议老机器优先):
GitHub 访问慢的坛友,可以套个加速代理,或者回帖留邮箱我看到就发。
【最后唠两句】
- 本项目借鉴了 handright 等开源项目的思路,感谢前辈们趟路,站在肩膀上才做得这么顺;
- 软件不附带任何商业版权字体,请大家自备开源 / 免费可商用字体,README 里整理了推荐清单;
- Rust 版重构时原本想支持 Win7,但现在的 GUI 框架和依赖库都不支持了,目前保底支持到老版本 Win10,介意的话可以反馈,有空会尽量想办法;
- 免责声明:本软件仅供学习、交流及生成个人笔记等无害用途,请勿用于伪造签名、公文、票据等任何违法场景,违者后果自负,与作者无关。
觉得有用的话,麻烦赏个热心值支持一下,原创不易 o/
有 bug 或新想法,欢迎回帖交流,也可以去 GitHub 提 Issue,两个仓库都会看,有空就修。
祝各位坛友再也不用手抄汇报!
|