审批单据怎么一键打印:可视化打印模板 + 字段/明细/审批记录占位的设计
🌐 演示地址:http://ruoyioffice.com | 📦 源码1·GitHub:ruoyi-office | 📦 源码2·GitCode:ruoyi-office | 📦 源码3·Gitee:ruoyi-office | 💬 微信:17156169080(备注「RuoYi Office」)
▲ 一份审批单据的打印,分三步:在流程模型上用富文本设计一份带"@占位符"的 HTML 模板 → 模板随流程模型保存 → 单据详情点"打印"时,把占位符替换成这张单的真实字段、明细和审批记录,再交给浏览器打印。模板归模板、数据归数据,改格式不用动代码。
引言:盖完章,还得打印一份——格式别再写死在代码里
走完审批的单据,很多时候还需要打印出来盖章、归档、交给对方:
-
报销单要打出来贴发票、走财务; -
用车单、出差单要打出来留底; -
合同审批单要打出来附在合同后面。
如果每种单据的打印格式都写死在代码里,麻烦就来了:财务想把"合计金额"挪个位置、行政想在抬头加个公司 Logo,都得提需求、改代码、重新发版。打印格式本该是"配置",不该是"代码"。
RuoYi Office 的思路是:把打印模板做成可视化配置,挂在流程模型上,和这条流程的表单字段、明细表、审批记录天然对齐,运行时自动填数,浏览器一键打印。
一、模板挂在流程模型上:和这条单据的字段天生对齐
RuoYi Office 的打印模板不是一个孤立的"画布",而是挂在具体流程模型上的一项设置。在流程模型管理里选中某条流程(比如 OA 通用报销),进入"更多设置",打开"自定义打印模板"开关,就能为这条流程单独设计一份打印样式。
▲ 流程模型管理:每条业务流程都是一行,进入编辑后可在"更多设置"里为它单独开启并设计打印模板。模板和流程绑定,所以它"认识"这条单据有哪些字段、哪张明细表。
这个设计的好处是:模板天然知道这条流程的表单结构。设计报销单模板时,能直接选报销单的字段;设计用车单模板时,选的就是用车单的字段——不会出现"模板和数据对不上"的尴尬。
二、富文本 + 占位符:像写 Word 一样设计,但能自动填数
打印模板的编辑器基于富文本(TinyMCE),用起来像写一篇文档:排版、表格、对齐都可以可视化操作。不同的是,左侧有一个字段面板,把表单字段、明细表、审批流程记录以"@占位符"的方式点一下或拖一下插入到正文里。
▲ 打印模板编辑器:左侧是这条流程的表单字段 / 明细表 / 审批记录面板,中间是富文本画布。把"@申请人"“@报销金额”“@审批记录"插进版面,排好版即可。设计的是"模板 + 占位符”,不是某一张具体单据。
可以插入的占位大致分四类:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
设计完保存,这份模板(一段 HTML + 占位符)就随流程模型一起存下来了。
三、运行时一键打印:占位符换成真实数据,交给浏览器
模板设计好之后,业务侧就简单了。打开任意一张走了这条流程的单据详情,底部会出现"打印"按钮。点击后,系统拉取这张单据的真实数据,把模板里的 @申请人、@报销金额、明细表、审批记录占位替换成实际内容,生成最终版面,再调用浏览器打印。

▲ 单据详情页:走完审批的单据,底部就有"打印"按钮。点击后系统拉取这张单的真实字段、明细和审批记录,套用模板生成打印版面,再交给浏览器打印或导出 PDF——同一份模板套不同单据,数据自动变、格式始终一致。
一份模板,套所有同类单据。换一张报销单打印,数据自动变,格式始终一致——这就是"模板 + 数据"分离的价值。
四、诚实地说说能力边界
为了不误导,需要把当前能力的边界讲清楚:
-
这套打印能力主要面向走 BPM 审批的业务单据(报销、用车、出差、合同审批等),打印入口在带流程的单据详情里; -
模板是富文本 HTML + 占位符,运行时做字符串替换并交给浏览器打印 / 导出 PDF,覆盖绝大多数"单据打印"场景; -
它不是一个面向所有页面、像专业报表工具那样精确到毫米定位的独立打印设计平台。对快递面单、不干胶标签这类需要硬件级精确定位的场景,更适合接专门的打印控件。
对于"非审批的普通 CRUD 单据也要一键打印""要更复杂的套打定位"这类需求,因为整套系统基于 Spring Boot + Vue3,完全可以在现有打印数据接口的基础上二开扩展——把打印能力从"流程单据"推广到更多业务页面。先用现成的覆盖主流场景,再按需扩展,是更务实的路径。
五、为什么放进平台一起做
打印这件事,单独做没意义,和业务、流程绑在一起才有价值:
- 和表单天然对齐
:模板能直接选到这条流程的字段和明细,不用手工映射; - 和审批打通
:审批节点、意见、时间能作为占位印在单据上,盖章归档时一目了然; - 和文件服务打通
:生成的 PDF 可沉淀到统一文件服务,和单据一起归档; - 二开成本低
:打印数据有统一接口,扩展到更多单据时不用从零造轮子。
六、适合谁
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
打印不该是"开发写死的一张版面"。当打印格式变成行政、财务自己能拖能改的模板,审批单据的"最后一公里"——打印盖章归档,才真正顺起来。
📎 打印模板和审批流程深度绑定,想看流程和表单怎么搭可对照阅读本站的表单设计器与主子表。
💡 想要体验 RuoYi Office 的强大功能?
🌐 在线演示:http://ruoyioffice.com/web/(账号 admin / admin123)
📦 源码仓库:GitHub | GitCode | Gitee
💬 技术咨询:添加微信 17156169080,备注「RuoYi Office」
⭐ 如果觉得不错,请给个 Star 支持一下!

