# PaperStudio **Repository Path**: daogedaoge/PaperStudio ## Basic Information - **Project Name**: PaperStudio - **Description**: 打印纸设计工具 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-05-29 - **Last Updated**: 2026-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 📄 PaperStudio - 简单易用纸张打印设计工具 **PaperStudio** 是一款基于 Web 的轻量级、功能强大的可视化打印设计工具。它无需安装,打开浏览器即可使用。不仅支持设计各种标准的办公用纸、书法练习纸,更内置了强大的\*\*可变数据\*\*功能,能够通过导入 Excel 数据轻松实现标签、证书、工牌,工资条等的批量生成与打印。 --- ## ✨ 核心亮点 ### 1. 🎨 丰富的纸张模版库 内置多种预设模版,满足不同场景需求,支持参数化一键调整: * ​**常用规格**​:A3、A4、A5、B4、B5 等标准尺寸及自定义尺寸。 * ​**办公/学习​**​:横线纸、方格纸、英文纸、乐谱纸。 * ​**书法/国风**​:田字格、米字格、回字格、九宫格(支持自定义颜色、虚线)。 * ​**几何图形**​:点阵纸、三角形网格、六边形网格。 ### 2. 🚀 强大的可变数据打印 这是 PaperStudio 的杀手级功能,专为批量任务设计: * ​**Excel 数据源**​:支持导入 `.xlsx` 文件,自动识别表头。 * ​**数据绑定**​:将画布上的文本、条码、图片与 Excel 字段绑定。 * ​**批量生成**​:设计一个模版,自动生成成百上千张不同内容的页面(如:批量打印含不同姓名和照片的工牌)。 * ​**智能序列号**​:支持自动生成递增/递减的序列号。 ### 3. 🛠️ 专业级可视化编辑器 基于 Fabric.js 构建的画布,提供接近桌面级软件的操作体验: * ​**完整图层管理**​:支持图层锁定、隐藏、排序。 * ​**所见即所得表格**​:内置强大的表格编辑器,支持单元格合并、拆分、样式自定义。 * ​**矢量绘图**​:矩形、圆形、多边形、线条及智能圆角设置。 * ​**条码/二维码生成**​:支持 QR Code、Code128、EAN-13 等 30+ 种主流条码格式,且内容可动态绑定。 ### 4. 🖨️ 灵活的输出与打印 * ​**导出 PDF**​:基于 jsPDF,支持多页批量导出,矢量级清晰度。 * ​**原生打印**​:直接调用浏览器打印接口,支持打印预览。 * ​**本地字体支持**​:直接调用用户电脑本地安装的字体(无需上传)。 ### 5. 🔒 安全与隐私 * ​**纯前端运行**​:所有数据处理(包括 Excel 解析、图片渲染)均在浏览器本地完成。 * ​**数据不出域**​:您的设计稿和业务数据不会上传到任何服务器,绝对安全。 --- ## 💡 应用场景 * ​**教育培训**​:定制练字帖、信纸稿纸、乐谱制作。 * ​**行政办公**​:批量打印员工工牌、会议桌牌、固定资产标签。 * ​**仓储物流**​:生成带条码/二维码的商品标签、发货单。 * ​**个人使用**​:制作手账内页、日历、待办清单。 --- ## 💻 技术栈 * ​**核心引擎**​:[Fabric.js](http://fabricjs.com/) (Canvas 交互) * ​**样式框架**​:TailwindCSS (UI 构建) * ​**PDF 生成**​:jsPDF & svg2pdf * ​**数据处理**​:SheetJS (Excel 解析) * ​**条码生成**​:bwip-js * ​**字体处理**​:Opentype.js (字体解析) --- ## ⚡ 快速开始 1. 打开 `index.html` (推荐使用 Chrome 或 Edge 浏览器)。 2. 点击 **"新建空白纸"** 或从模版库选择一个预设。 3. ​**设计**​:从顶部工具栏添加文字、图形或表格。 4. ​**数据绑定(可选)**​:切换到 "数据源" 面板,加载本地 Excel 文件,选中元素并在属性面板绑定字段。 5. ​**输出**​:点击右上角的 "打印" 或 "导出 PDF"。 ## ⌨️ 快捷键指南 | 按键组合 | 功能 | 备注 | | :--- | :--- | :--- | | `Ctrl` + `C` | 复制 | 画布内元素复制 | | `Ctrl` + `V` | 粘贴 | 粘贴到画布 | | `Ctrl` + `Z` | 撤销 | 回退上一步操作 | | `Ctrl` + `Y` | 重做 | 恢复下一步操作 | | `Ctrl` + `S` | 保存 | 保存为 .paper 项目文件 | | `Ctrl` + `O` | 打开 | 打开 .paper 项目文件 | | `Ctrl` + `P` | 打印 | 调用浏览器打印 | | `Delete` | 删除 | 删除选中元素 | | `Alt` + 拖动 | 平移画布 | 抓手模式 | | `Shift` + 点击 | 多选 | 选择多个元素 | | 方向键 (`↑` `↓` `←` `→`) | 微调 | 每次移动 2px | ## 🤝 贡献 欢迎提交 Issue 或 Pull Request! 1. Fork 本仓库。 2. 新建 Feat_xxx 分支。 3. 提交代码。 4. 新建 Pull Request。 ## 📄 开源协议 本项目基于 [MIT License](LICENSE) 开源。您可以免费用于个人或商业用途,但请保留原作者版权声明。