内容:
技术栈:Vue + javascript + OnlyOffice Document Builder + vue3-drag-resize-rotate + HTML5 Drag & Drop + 自研公式引擎
项目背景:
为满足企业客户在合同、收据、发票等场景下对高精度、可配置、所见即所得打印输出的需求,主导设计并开发了一套完整的智能套打服务系统,包含两大核心模块:
文档套打:基于 OnlyOffice 实现 Word/PDF 模板变量注入与动态渲染;
单据套打:提供可视化拖拽设计器,支持业务方自助创建收据/单据模板。
核心职责与技术亮点:
✅ 文档套打模块(OnlyOffice 集成)
深度集成 OnlyOffice Document Builder:
利用 OnlyOffice 的服务端文档生成能力,将业务数据(如客户名称、金额、日期)以变量形式注入 Word 模板,实现动态内容填充。
增强变量交互体验:
支持在编辑态高亮显示所有变量占位符(如 {customerName}),便于用户识别;
点击变量可进入选中状态,展示上下文信息(如字段来源、格式规则);
提供“变量定位”功能,一键跳转到文档中所有该变量出现的位置。
首创前端公式引擎支持:
允许用户在模板中为文本字段绑定计算逻辑,包括:
函数公式(如 SUM(items.price)、FORMAT_DATE(date, 'YYYY-MM-DD'))
✅ 单据套打模块(可视化模板设计器)
基于 Vue 3 的自由布局引擎:
采用 vue3-drag-resize-rotate 结合原生 HTML5 Drag & Drop API,构建高性能、响应式的模板画布,支持:
拖拽添加文字、图片、表格、网格线、二维码等元素;
实时调整位置、尺寸、旋转角度、层级顺序;
吸附对齐、标尺辅助、网格吸附等专业设计体验。